본문 바로가기
728x90

CosPro1급31

Cos Pro 1급 - 샘플 문제 풀이 3차 4번 (substring() 활용) 문제 지문 #4 두 문자열 s1과 s2를 붙여서 새 문자열을 만들려 합니다. 이때, 한 문자열의 끝과 다른 문자열의 시작이 겹친다면, 겹치는 부분은 한 번만 적습니다. 예를 들어 s1 = "ababc", s2 = "abcdab"일 때, 아래와 같이 s1 뒤에 s2를 붙이면 새 문자열의 길이는 9입니다. 그러나 s2 뒤에 s1을 붙이면 새 문자열의 길이는 8로, 더 짧게 만들 수 있습니다. 두 문자열 s1과 s2가 매개변수로 주어질 때, s1과 s2를 붙여서 만들 수 있는 문자열 중, 가장 짧은 문자열의 길이를 return 하도록 solution 메서드를 완성해주세요. 매개변수 설명 두 문자열 s1과 s2가 solution 메소드의 매개변수로 주어집니다. s1과 s2의 길이는 1 이상 100 이하입니다. .. 2022. 10. 18.
Cos Pro 1급 - 샘플 문제 풀이 3차 3번 (ArrayList 활용) 문제 지문 #3 체스에서 비숍(Bishop)은 아래 그림과 같이 대각선 방향으로 몇 칸이든 한 번에 이동할 수 있습니다. 만약, 한 번에 이동 가능한 칸에 체스 말이 놓여있다면 그 체스 말을 잡을 수 있습니다. 8 x 8 크기의 체스판 위에 여러 개의 비숍(Bishop)이 놓여있습니다. 이때, 비숍(Bishop)들에게 한 번에 잡히지 않도록 새로운 말을 놓을 수 있는 빈칸의 개수를 구하려고 합니다. 위 그림에서 원이 그려진 칸은 비숍에게 한 번에 잡히는 칸들이며, 따라서 체스 말을 놓을 수 있는 빈칸 개수는 50개입니다. 8 x 8 체스판에 놓인 비숍의 위치 bishops가 매개변수로 주어질 때, 비숍에게 한 번에 잡히지 않도록 새로운 체스 말을 놓을 수 있는 빈칸 개수를 return 하도록 soluti.. 2022. 10. 18.
Cos Pro 1급 - 샘플 문제 풀이 3차 2번 (팰린드롬 문자열 찾기) 문제 지문 #2 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 예를 들어, "aba"는 팰린드롬이며 "abccca"는 팰린드롬이 아닙니다. 어떤 문자열의 부분 문자열 중 팰린드롬인 문자열이 여럿일 수 있습니다. 이 중 k번째로 큰 팰린드롬을 알고 싶습니다. k번째로 큰 팰린드롬이란, 모든 팰린드롬을 사전 순으로 나열했을 때 k번째에 위치하는 팰린드롬을 뜻합니다. 이를 위해 다음과 같이 프로그램 구조를 세웠습니다. 1. 팰린드롬 문자열을 저장할 배열 palindromes를 선언합니다. 2. 주어진 문자열의 모든 부분 문자열을 찾아 다음을 수행합니다. 2-1. 부분 문자열이 팰린드롬 문자열인지 확인하고, 팰린드롬 문자열이라면 palindromes에 같은 문자열이 이미 들어있는지.. 2022. 10. 17.
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.
728x90