본문 바로가기
728x90

알고리즘 공부15

Cos Pro 1급 - 샘플 문제 5차 9번 - 연산 횟수 구하기(큐의 활용) 문제 지문 #9 정수 number와 target이 주어졌을 때, 다음 세 연산을 이용해 number를 target으로 만들려 합니다. 연산 1. 1을 더합니다. 연산 2. 1을 뺍니다. 연산 3. 2를 곱합니다. 정수 number와 target이 매개변수로 주어질 때, number로 target으로 만들려면 연산을 최소 몇 번 해야 하는지 return 하도록 solution 메서드를 작성해 주세요. 매개변수 설명 두 정수 number와 target이 solution 메서드의 매개변수로 주어집니다. number와 target은 0 이상 10,000 이하입니다. return 값 설명 number를 target으로 만들려면 연산을 최소 몇 번 해야 하는지 return 합니다. 예시 number target r.. 2022. 11. 15.
Cos Pro 1급 - 샘플 문제 5차 8번 - 최대공약수 구하기(유클리드 호제법) 문제 지문 #8 세 수 a, b, c의 공약수가 몇 개인지 구하려고 합니다. 공약수란, 동시에 모든 정수의 약수인 정수를 뜻합니다. 예를 들어, 세 수 24, 9, 15의 공약수는 1, 3이고, 따라서 양의 공약수는 2개입니다. 세 수의 공약수가 몇 개인지 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. 세 수의 최대공약수를 구합니다. 2. 앞서 구한 최대공약수의 약수가 몇 개인지 구합니다. 세 수 a, b, c가 매개변수로 주어질 때, 세 수의 약수가 몇 개인지 return 하도록 solution 메서드를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a, func_b, func_c 메서드와 매개변수를 알맞게 채워주세요. #####매개변수 설.. 2022. 11. 15.
Cos Pro 1급 - 샘플 문제 5차 5번 - 이길 수 있는 몬스터의 최대수 문제 지문 #5 XX게임에선 캐릭터는 자신과 공격력이 같거나 자신보다 공격력이 작은 몬스터에게 이깁니다. 내가 가진 캐릭터가 최대 몬스터 몇 마리를 이길 수 있는지 구하려 합니다. 단, 한 캐릭터는 한 번만 싸울 수 있습니다. 예를 들어, 세 몬스터의 공격력이 각각 [1, 4, 3]이고, 내가 가진 두 캐릭터의 공격력이 각각 [1, 3]이라면 첫 번째 캐릭터는 첫 번째 몬스터와, 두 번째 캐릭터는 세 번째 몬스터와 싸워서 이길 수 있습니다. 따라서 이길 수 있는 몬스터 수는 최대 2마리입니다. 모든 몬스터의 공격력을 담은 배열 enemies, 내가 가진 모든 캐릭터의 공격력을 담은 배열 armies가 매개변수로 주어질 때, 내 캐릭터로는 최대 몬스터 몇 마리를 이길 수 있는지 return 하도록 solu.. 2022. 11. 13.
Cos Pro 1급 - 샘플 문제 5차 4번 - 숫자 갯수 세기(String.valueOf) 문제 지문 #4 주어진 숫자를 각 숫자와 숫자의 개수로 읽으려 합니다. 이때, 값이 큰 숫자를 먼저 읽어야 합니다. 예를 들어, 2433은 2 한 개 4 한 개 3 두 개로 이루어져 있기 때문에 "413221"로 읽습니다. 숫자 number가 매개변수로 주어질 때, 숫자를 읽어 문자열로 return 하도록 solution 메서드를 작성했습니다. 그러나, 일부 코드가 잘못되어 코드가 바르게 동작하지 않습니다. 주어진 코드가 모든 입력을 바르게 처리하도록 코드를 수정해주세요. 코드는 _한 줄_만 수정해야 합니다. #####매개변수 설명 숫자 number가 solution 메서드의 매개변수로 주어집니다. number는 0 이상 2,000,000,000 이하인 정수입니다. #####return 값 설명 주어진 .. 2022. 11. 12.
Cos Pro 1급 - 샘플 문제 풀이 5차 3번 - 배열을 정렬하기 문제 지문 #3 서로 다른 정수 n개가 담긴 배열이 있습니다. 이 배열을 앞 (n+1)/2개 원소는 증가하고 뒤 (n+1)/2개 원소는 감소하도록 정렬하려고 합니다. 이때, 조건을 만족하는 배열이 여럿인 경우 사전 순으로 가장 먼저 나오는 배열을 답으로 합니다. 예를 들어, 주어진 배열이 [7, 3, 4, 1, 2, 5, 6]라면 정렬한 이후에는 [1, 2, 3, 7, 6, 5, 4]가 됩니다. 정수 배열 numbers가 매개변수로 주어질 때, 문제의 조건에 맞게 정렬하여 return 하도록 solution 메서드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하.. 2022. 11. 10.
Cos Pro 1급 - 샘플 문제 풀이 4차 10번 (소수의 제곱수의 개수 구하기) 문제 지문 #10 자연수를 제곱한 수는 제곱수, 세제곱한 수는 세제곱수라고 합니다. 예를 들어 2^2 = 4는 제곱수, 3^3 = 27은 세제곱수입니다. 두 자연수 a, b가 주어질 때 a 이상 b 이하인 자연수 중 _소수_의 제곱수와 세제곱수의 개수를 구하려 합니다. 예를 들어 a = 6, b = 30일 때 소수의 제곱수는 [9, 25]로 2개, 소수의 세제곱수는 [8, 27]로 2개로 총 4개입니다. 두 자연수 a, b가 매개변수로 주어질 때, a 이상 b 이하인 제곱수와 세제곱수의 개수의 합을 return 하도록 solution 메서드를 완성해주세요. #####매개변수 설명 두 자연수 a, b가 solution 메서드의 매개변수로 주어집니다. a, b는 각각 1 이상 1,000,000,000 이하인.. 2022. 11. 7.
728x90