STUDY/프로그래머스 코딩테스트 63

[코딩테스트 입문] 구슬을 나누는 경우의 수

[문제 설명] 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해주세요. [제한사항] 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls [입력 예] balls share result 3 2 3 5 3 10 [출력 예] - 입출력 예 #1 서로 다른 구슬 3개 중 2개를 고르는 경우의 수는 3입니다. - 입출력 예 #2 서로 다른 구슬 5개 중 3개를 고르는 경우의 수는 10..

[코딩테스트 입문] 공 던지기

[문제 설명] 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요. [제한사항] 2

[코딩테스트 입문] 숨어있는 숫자의 덧셈(2)

[문제 설명] 문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요. [제한사항] 1 ≤ my_string의 길이 ≤ 1,000 1 ≤ my_string 안의 자연수 ≤ 1000 연속된 수는 하나의 숫자로 간주합니다. 000123과 같이 0이 선행하는 경우는 없습니다. 문자열에 자연수가 없는 경우 0을 return 해주세요. [입출력 예] my_string result "aAb1B2cC34oOp" 37 "1a2b3c4d123Z" 133 [입출력 예 설명] 입출력 예 #1 "aAb1B2cC34oOp"안의 자연수는 1, 2, 34 입니다. 따라서 1 + 2..

[코딩테스트 입문] 진료순서 정하기

[문제 설명] 외과의사 머쓱이는 응급실에 온 환자의 응급도를 기준으로 진료 순서를 정하려고 합니다. 정수 배열 emergency가 매개변수로 주어질 때 응급도가 높은 순서대로 진료 순서를 정한 배열을 return하도록 solution 함수를 완성해주세요. [제한사항] 중복된 원소는 없습니다. 1 ≤ emergency의 길이 ≤ 10 1 ≤ emergency의 원소 ≤ 100 [입출력 예] emergency result [3, 76, 24] [3, 1, 2] [1, 2, 3, 4, 5, 6, 7] [7, 6, 5, 4, 3, 2, 1] [30, 10, 23, 6, 100] [2, 4, 3, 5, 1] [입출력 예 설명] 입출력 예 #1 emergency가 [3, 76, 24]이므로 응급도의 크기 순서대로 ..

[코딩테스트 입문] 2차원으로 만들기

[문제 설명] 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]] [제한사항] num_list의 길이는 n의 배 수개입니다. 0 ≤ num_list의 길이 ≤ 150 2 ≤ n

[코딩테스트 입문] 팩토리얼

[문제 설명] i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. i! ≤ n [제한사항] 0 n) { b = false; break; } System.out.println(i + ", " + fact); answer = i; } return answer; } } 최초에 b를 이용해서 while문을 실행하고, 문제의 조건을 충족할 때 false로 변경하여 반복문을 종료하고 해당 팩토리얼 값을 기준으로 answer을 출력할 수 있다. 위의 코드를 다시 간결하게 정리해보았다. if문의 조건을 통해 break가 있..

[코딩테스트 입문] 중복된 문자 제거

[문제 설명] 문자열 my_string이 매개변수로 주어집니다. my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return하도록 solution 함수를 완성해주세요. [제한사항] 1 ≤ my_string ≤ 110 my_string은 대문자, 소문자, 공백으로 구성되어 있습니다. 대문자와 소문자를 구분합니다. 공백(" ")도 하나의 문자로 구분합니다. 중복된 문자 중 가장 앞에 있는 문자를 남깁니다. [입출력 예] my_string result "people" "peol" "We are the world" "We arthwold" [입출력 예 설명] 입출력 예 #1 "people"에서 중복된 문자 "p"와 "e"을 제거한 "peol"을 return합니다. 입출력 예 #2 "We..

[코딩 테스트 입문] 숨어있는 숫자의 덧셈 (1)

[문제 설명] 문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요. [제한사항] 1 ≤ my_string의 길이 ≤ 1,000 my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다. 입출력 예 my_string result "aAb1B2cC34oOp" 10 "1a2b3c4d123" 16 입출력 예 설명 입출력 예 #1 "aAb1B2cC34oOp"안의 한자리 자연수는 1, 2, 3, 4 입니다. 따라서 1 + 2 + 3 + 4 = 10 을 return합니다. 입출력 예 #2 "1a2b3c4d123Z"안의 한자리 자연수는 1, 2, 3, 4, 1, 2, 3 입니다. 따라서 1 + 2 + 3 ..