CodingTest 56

프로그래머스 (Level 2) - 모음 사전

1. 문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U' 만을 사용하여 만들 수 있는 길이 5 이하의 모든 단어가 수록되어 있다. 사전에서 첫 번째 단어는 "A"이고 그다음은 "AA"이며, 마지막 단어는 "UUUUU"이다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하라 2. 제한사항 word의 길이는 1 이상 5 이하이다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U' 으로만 이루어져 있다. 3. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 사전에서 첫 번째 단어는 A -> AA -> ... -> AAAAA -> AAAAE 이므로 6번째 단어이다. "..

프로그래머스 (Level 2) - 피로도

1. 문제 설명 일정 피로도를 사용해서 던전을 탐험할 수 있다. 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있다. "최소 필요 피로도"는 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도이다. "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타낸다. "최소 필요 피로도" 가 80, "소모 피로도"가 20인 던전을 탐험하려면 유저는 남은 피로도는 80 이상이어여 하며 탐험한 후에는 피로도 20이 소모된다. 유저의 현재 피로도 k, 각 던전별 "최소 필요 피로도", "소모 피로도"가 담긴 2차원 배열 dungeons가 매개변수 유조가 탐험할 수 있는 최대 던전수를 return해라. 2. 제한사항 k는 1 이상 5,000 이..

프로그래머스 (Level 2) - 최소직사각형

1. 문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 한다. 명함 번호 가로 길이 세로 길이 1 60 50 2 30 70 3 60 30 4 80 40 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) * 70(세로) 크기의 지갑으로 모두 넣을 수 있다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) * 50(세로) 크기의 지갑으로 넣을 수 있다. 이때의 지갑 크기는 4000(80*50)이다. 모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개 변수로 주어진다. 모든 명함을 수납할 수 있는 가장 작은 지갑을 만들 때, 지갑의 크기를 return해라 2. 제한사항 sizes의 길이는 1 이상 10,000 이하이다. sizes의 원소는 ..

프로그래머스 (Level 2) - 카펫

1. 문제 설명 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색, 테두리 1줄은 갈색으로 칠해져 있는 카펫을 발견했다. 집으로 돌아와서 노란색과 갈색으로 색칠된 격자의 개수는 기억했지만 전체 카펫의 크기는 기억하지 못했다. 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개 변수로 주어진다. 이때, 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return하라 2. 제한사항 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수이다. 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수이다. 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 길다. 3. 입출력 예 brown yellow return 10 2 [4,3] 8 1 [3,3] 2..

프로그래머스 (Level 2) - 소수 찾기

1. 문제 설명 한자리 숫자가 적힌 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려고 한다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어진다. 종이 조각으로 만들 수 있는 소수가 몇 개 인지 return 2. 제한사항 numbers는 길이 1 이상 7이하인 문자열 numbers는 0 ~ 9까지 숫자만으로 이루어져 있다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미 3. 입출력 예 numbers return "17" 3 "011" 2 [1,7] 으로는 소수 [7, 17, 71]를 만들 수 있다. [0,1,1]으로는 소수 [11, 101]를 만들 수 있다. 11과 011은 같은 숫자로 취급한다. 4. 풀이 접근 문자열로 입력 받았으므로 하나씩 숫자를 뜯어내..

프로그래머스 (Level 1) - 모의고사

1. 문제 설명 수포자는 모의고사에 수학 문제를 전부 찍으려 한다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어진다. 가장 많은 문제를 맞힌 사람이 누군인지 배열에 담아 return 2. 제한사항 시험은 최대 10,000 문제로 구성되어 있다. 문제의 정답은 1, 2, 3, 4, 5중 하나이다. 가장 높은 점수를 받은 사람이 ..

프로그래머스 (Level 2) - H-index

1. 문제 설명 H - index는 과학자의 생산성과 영향력을 나타내는 지표이다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 과학자의 H-index이다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때 H-index를 return 해라 2. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하 논문별 인용 횟누는 0회 이상 10,000회 이하 3. 입출력 예 citations return [3,0,6,1,5] 3 이 과학자가 발표한 논문의 수는 5편이다. (3, 0, 6, 1, 5) 그중 3편의 논문은 3회 이상 인용되었다. (3, 6, 5) 나머지 2편의 논문은..

프로그래머스 (Level 2) - 가장 큰 수

1. 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내라. 예를들어 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고 가장 큰 수는 6210이다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 가장 큰 수를 문자열로 바꾸어 return하라. 2. 제한사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으므로 문자열로 바꾸어 return 합니다. 3. 입출력 예 array return [6, 10, 2] "6210" [3,30,34,5,9] "9534330"..

프로그래머스 (Level 1) - k번째 수

1. 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k 번째에 있는 수를 구하려한다. 예를 들어 array가 [1,5,2,6,3,7,4], i = 2, j = 5, k = 3이라면 1. array의 2번째부터 5번째까지 자르면 [5,2,6,3]이다. 2. 배열을 정렬하면 [2,3,5,6]이다. 3. 위 배열의 3번째(k)는 5이다. 배열 array, [i,j,k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때 return 구하라 2. 제한사항 array의 길이는 1 이상 100 이하 array의 각 원소는 1 이상 100 이하 commands의 길이는 1 이상 50 이하 commands의 각 원소는 길이가 3이다. 3. 입출력 예 array comm..

프로그래머스 (Level 2) - 위장

1. 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장한다. 스파이가 가진 의상들이 담긴 2차원 배열 clothes 서로 다른 옷의 조합의 수를 return 2. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있다. 스파이가 가진 의상의 수는 1개 이상 30개 이하이다. 같은 이름을 가진 의상은 존재하지 않는다. clothes의 모든 원소는 문자열로 이루어져 있다. 모든 문자열의 길이는 1 이상 20이하인 자연수이고 알파벳 소문자 또는 '_'로만 이루어져 있다. 스파이는 하루에 최소 한 개의 의상은 입는다. 3. 입출력 예 clothes return [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["..