본문 바로가기
728x90

알고리즘 풀이30

Cos Pro 1급 - 샘플 문제 풀이 3차 1번 (배열의 회전) 문제 지문 #1 정수로 이루어진 두 배열 arrA와 arrB가 주어질 때, arrA를 회전해 arrB로 만들 수 있는지 알아보려 합니다. 배열의 회전이란 모든 원소를 오른쪽으로 한 칸씩 이동시키고, 마지막 원소는 배열의 맨 앞에 넣는 것을 말합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. arrA와 arrB의 길이가 다르면 false를 return 합니다. 2. 두 배열의 구성 성분이 달라 회전했을 때 같아질 가능성이 없다면 false를 return 합니다. 3. arrA 배열을 두 번 이어 붙여 길이가 2배인 배열로 만듭니다. 4. arrA의 부분 배열 중 arrB와 같은 배열이 있으면 true를, 그렇지 않으면 false를 return 합니다. 두 배열 arrA와 arrB가 매개변.. 2022. 10. 17.
Cos Pro 1급 - 샘플 문제 풀이 2차 10번 (charAt() 활용하기) 문제 지문 #10 0과 1로만 이루어진 문자열에서 연속해서 붙어있는 0들을 하나의 0으로 줄이려 합니다. 예를 들어 "101100011100" 이란 문자열은 "101101110"으로 만들면 됩니다. 0과 1로만 이루어진 문자열 s가 매개변수로 주어질 때, 연속해서 붙어있는 0들을 하나의 0으로 줄인 문자열을 return 하도록 solution 메소드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요. 매개변수 설명 0과 1로만 이루어진 문자열 s가 solution 메소드의 매개변수로 주어집니다. s의 길이는 1 이상 1,000 이하입니다. return 값 설명.. 2022. 10. 16.
Cos Pro 1급 - 샘플 문제 풀이 2차 9번 (문자열 비교) 문제 지문 #9 주어진 비밀번호가 안전한지 아닌지 판단하려 합니다. 비밀번호의 안전 여부는 다음 규칙으로 판단합니다. 연속된 3자리 이상의 알파벳 혹은 숫자를 사용할 수 없습니다. (abc, cba, 012, 987 등) 비밀번호에 사용할 문자열 password가 매개변수로 주어질 때, 주어진 문자열이 위 규칙에 맞으면 true를, 맞지 않으면 false를 return 하도록 solution 메서드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _한 줄_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요. 매개변수 설명 비밀번호에 사용할 문자열 password가 solution 메소드의 매개변수로 주어집니다. pas.. 2022. 10. 16.
Cos Pro 1급 - 샘플 문제 풀이 2차 8번 (배열의 탐색) 문제 지문 #8 자연수가 들어있는 배열이 주어질 때, 다음 규칙에 따라 새로운 배열을 만들려고 합니다. 주어진 배열의 첫 번째 원소를 새로운 배열의 첫 번째 원소에 넣습니다. 주어진 배열의 마지막 원소를 새로운 배열의 두 번째 원소에 넣습니다. 계속해서 주어진 배열의 남아있는 원소중 가장 앞에 있는 원소와 가장 뒤에 있는 원소를 번갈아 가져와 새로운 배열에 순서대로 넣습니다. 주어진 배열에 더이상 원소가 남아있지 않을 때까지 위 과정을 반복합니다. 자연수가 들어있는 배열 arr가 매개변수로 주어질 때, 위 과정을 수행해서 만든 새로운 배열을 return 하도록 solution 메서드를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드.. 2022. 10. 15.
Cos Pro 1급 - 샘플 문제 풀이 2차 7번 (while문 활용) 문제 지문 #7 한국에는 다음과 같이 8가지 종류의 화폐가 있습니다. 동전 : 10원, 50원, 100원, 500원 지폐 : 1,000원, 5,000원, 10,000원, 50,000원 손님에게 거슬러줘야 하는 금액이 주어질 때, 거슬러주는 동전과 지폐 개수의 합이 최소가 되도록 하려고 합니다. 예를 들어 거슬러줘야 할 금액이 2,760원이라면, 1,000원짜리 2장, 500원짜리 1개, 100원짜리 2개, 50원짜리 1개, 10원짜리 1개를 거슬러줄 때 동전과 지폐 개수의 합이 최소가 됩니다. 손님에게 거슬러줘야 하는 금액 money가 매개변수로 주어질 때, 거슬러 주는 동전과 지폐 개수 합의 최솟값을 return 하도록 solution 메서드를 작성하려 합니다. 빈칸을 채워 전체 코드를 완성해주세요. .. 2022. 10. 15.
Cos Pro 1급 - 샘플 문제 풀이 2차 6번 (switch-case문 사용) 문제 지문 #6 로봇이 아래 그림과 같이 2차원 평면의 원점 (0, 0)에 서있습니다. 이 로봇은 x축 방향, 혹은 y축 방향으로만 움직일 수 있으며, 알파벳으로 명령을 내릴 수 있습니다. 명령을 내릴 때 사용하는 알파벳은 'L', 'R', 'U', 'D'의 4가지이며, 'L'은 x축 방향으로 -1만큼, 'R'은 x축 방향으로 +1만큼, 'U'는 y축 방향으로 +1만큼, 'D'는 y축 방향으로 -1 만큼 이동하라는 의미입니다. 로봇에게 내린 명령이 순서대로 들어있는 문자열 commands가 매개변수로 주어질 때, 주어진 명령을 모두 수행한 후의 로봇 위치를 return 하도록 solution 메소드를 완성해주세요. 매개변수 설명 로봇에게 내린 명령이 순서대로 들어있는 문자열 commands가 soluti.. 2022. 10. 14.
Cos Pro 1급 - 샘플 문제 풀이 2차 5번 (배열: Index Out of Bounds피하기) 문제 지문 #5 자연수가 들어있는 배열이 있습니다. 이 배열에서, 숫자가 연속해서 증가하는 가장 긴 구간의 길이를 구하려 합니다. 단, 바로 전 숫자와 현재 숫자가 같은 경우는 증가한 것으로 보지 않습니다. 예를 들어 배열에 순서대로 [3, 1, 2, 4, 5, 1, 2, 2, 3, 4]가 들어있는 경우, [1, 2, 4, 5]가 들어있는 구간이 숫자가 연속해서 증가한 가장 긴 구간이며, 길이는 4입니다. 자연수가 들어있는 배열 arr가 매개변수로 주어질 때, 숫자가 연속해서 증가하는 가장 긴 구간의 길이를 return 하도록 solution 메서드를 완성해주세요. 매개변수 설명 자연수가 들어있는 배열 arr가 solution 메소드의 매개변수로 주어집니다. arr의 길이는 2 이상 200,000 이하입.. 2022. 10. 13.
Cos Pro 1급 - 샘플 문제 풀이 2차 4번 (배열에서 중복없이 추출하기) 문제 지문 #4 자연수가 중복 없이 들어있는 배열이 있습니다. 이 배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세 개를 고르는 방법은 몇 가지인지 세려고 합니다. 자연수가 들어있는 배열 arr가 매개변수로 주어질 때, 이 배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세 개를 고르는 방법의 가짓수를 return 하도록 solution 메서드를 완성해주세요. 매개변수 설명 자연수가 들어있는 배열 arr가 solution 메소드의 매개변수로 주어집니다. arr의 길이는 3 이상 100 이하입니다. arr에는 1 이상 1,000 이하의 자연수가 중복 없이 들어있습니다. K는 1 이상 10 이하의 자연수입니다. return 값 설명 배열에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법의.. 2022. 10. 12.
Cos Pro 1급 - 샘플 문제 풀이 2차 2번 문제 지문 #2 A 지하철역의 오늘 하루 지하철 도착 시각이 순서대로 들어있는 배열이 있습니다. 현재 시간이 주어졌을 때, 지하철을 타기위해서는 최소 몇 분을 기다려야 하는지 구하려 합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. 00:00을 기준으로 해서 현재 시각을 분 단위로 변환합니다. 2. 배열을 순회하며 다음을 수행합니다. 2-1. 00:00을 기준으로, 각 지하철 도착 시각을 분 단위로 변환합니다. 2-2. 현재 시각과 지하철 도착 시각을 비교하여 최소 대기 시간을 구합니다. 3. 2번 단계에서 구한 최소 대기 시간을 return 합니다. 오늘 하루 동안의 지하철 도착 시각이 순서대로 들어있는 배열 subwayTimes와 현재시간 currentTime이 매개변수로 주어질 때.. 2022. 10. 10.
728x90