개인 공부(13)
-
[코딩테스트]#7. 카드 뭉치
Description 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "i..
2024.03.05 -
[코딩테스트]#6. 최소직사각형 구하기
Description 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 아래 표는 4가지 명함의 가로 길이와 세로 길이를 나타냅니다. 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다. 모든 명함의 가로 길이와 세로..
2024.03.04 -
[코딩테스트]#5. 삼각형의 완성조건(2)
Description 선분 세 개로 삼각형을 만들기 위해서는 다음과 같은 조건을 만족해야 합니다. 가장 긴 변의 길이는 다른 두 변의 길이의 합보다 작아야 합니다. 삼각형의 두 변의 길이가 담긴 배열 sides이 매개변수로 주어집니다. 나머지 한 변이 될 수 있는 정수의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 sides의 원소는 자연수입니다. sides의 길이는 2입니다. 1 ≤ sides의 원소 ≤ 1,000 입출력 예 입출력 예 설명 입출력 예 #1 두 변이 1, 2 인 경우 삼각형을 완성시키려면 나머지 한 변이 2여야 합니다. 따라서 1을 return합니다. 입출력 예 #2 가장 긴 변이 6인 경우 될 수 있는 나머지 한 변은 4, 5, 6 로 3개입니다. 나머지 한..
2024.03.03 -
[코딩테스트]#4. 조건에 맞는 개발자 찾기(Database sql)
Description SKILLCODES 테이블은 개발자들이 사용하는 프로그래밍 언어에 대한 정보를 담은 테이블입니다. SKILLCODES 테이블의 구조는 다음과 같으며, NAME, CATEGORY, CODE는 각각 스킬의 이름, 스킬의 범주, 스킬의 코드를 의미합니다. 스킬의 코드는 2진수로 표현했을 때 각 bit로 구분될 수 있도록 2의 제곱수로 구성되어 있습니다. DEVELOPERS 테이블은 개발자들의 프로그래밍 스킬 정보를 담은 테이블입니다. DEVELOPERS 테이블의 구조는 다음과 같으며, ID, FIRST_NAME, LAST_NAME, EMAIL, SKILL_CODE는 각각 개발자의 ID, 이름, 성, 이메일, 스킬 코드를 의미합니다. SKILL_CODE 컬럼은 INTEGER 타입이고, 2진..
2024.03.01 -
[코딩테스트]#3. 컨트롤 제트
문제 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요. 제한사항 1 ≤ s의 길이 ≤ 200 -1,000 < s의 원소 중 숫자 < 1,000 s는 숫자, "Z", 공백으로 이루어져 있습니다. s에 있는 숫자와 "Z"는 서로 공백으로 구분됩니다. 연속된 공백은 주어지지 않습니다. 0을 제외하고는 0으로 시작하는 숫자는 없습니다. s는 "Z"로 시작하지 않습니다. s의 시작과 끝에는 공백이 없습니다. "Z"가 연속해서 나오는 경우는 없습니다. 입출력 예 s ..
2024.02.29 -
[코딩테스트] #2. 스택/큐
Description 올바르게 쌍을 이룬 괄호의 정의는 '(')' 문자로 열었을 경우 '' 문자로 닫아야 한다는 것을 의미합니다. 예시 "()()" 또는 "(())()"는 올바른 괄호입니다. ")()(" 또는"(()("는 잘못된 괄호입니다. '(' 또는 ' ) '로만 구성된 문자열이 주어지면 문자열이 올바른 괄호이면 true를 반환하고 그렇지 않으면 false를 반환하는 함수를 완성합니다. Constraints 문자열 길이 : 100,000 미만의 자연수 문자열은 '(' 또는 ')'로만 구성됩니다. Example s answer "()()" true "(())()" true ")()(" false "(()(" false 풀이 요약 스택이나 큐를 이용하여 해결해야 하는 문제로 일반적인 for문등을 사용하여..
2024.02.28