[Cos Pro 1급] 기출문제 3회차, 비숍으로부터 도망쳐
·
Certificate/Cert - Cos Pro 1급
Hi, There! 안녕하세요, 바오밥입니다. 목차 문제 풀이 문제 문제 내용 체스에서 비숍(Bishop)은 아래 그림과 같이 대각선 방향으로 몇 칸이든 한 번에 이동할 수 있습니다. 만약, 한 번에 이동 가능한 칸에 체스 말이 놓여있다면 그 체스 말을 잡을 수 있습니다. 8 x 8 크기의 체스판 위에 여러 개의 비숍(Bishop)이 놓여있습니다. 이때, 비숍(Bishop)들에게 한 번에 잡히지 않도록 새로운 말을 놓을 수 있는 빈칸의 개수를 구하려고 합니다. 위 그림에서 원이 그려진 칸은 비숍에게 한 번에 잡히는 칸들이며, 따라서 체스 말을 놓을 수 있는 빈칸 개수는 50개입니다. 8 x 8 체스판에 놓인 비숍의 위치 bishops가 매개변수로 주어질 때, 비숍에게 한 번에 잡히지 않도록 새로운 체스 ..
[Cos Pro 1급] 기출문제 3회차, 팰린드롬 문제
·
Certificate/Cert - Cos Pro 1급
Hi, There! 안녕하세요, 바오밥입니다. 목차 문제 풀이 문제 문제 내용 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 예를 들어, "aba"는 팰린드롬이며 "abccca"는 팰린드롬이 아닙니다. 어떤 문자열의 부분 문자열 중 팰린드롬인 문자열이 여럿일 수 있습니다. 이 중 k번째로 큰 팰린드롬을 알고 싶습니다. k번째로 큰 팰린드롬이란, 모든 팰린드롬을 사전 순으로 나열했을 때 k번째에 위치하는 팰린드롬을 뜻합니다. 이를 위해 다음과 같이 프로그램 구조를 세웠습니다. 1. 팰린드롬 문자열을 저장할 리스트 palindromes를 선언합니다. 2. 주어진 문자열의 모든 부분 문자열을 찾아 다음을 수행합니다. 2-1. 부분 문자열이 팰린드롬 문자열인지 확인하고, 팰린드롬 ..
[Cos Pro 1급] 기출문제 3회차, 배열을 회전시켜보세요
·
Certificate/Cert - Cos Pro 1급
Hi, There! 안녕하세요, 바오밥입니다. 목차 문제 풀이 문제 문제 내용 정수로 이루어진 두 리스트 arrA와 arrB가 주어질 때, arrA를 회전해 arrB로 만들 수 있는지 알아보려 합니다. 리스트의 회전이란 모든 원소를 오른쪽으로 한 칸씩 이동시키고, 마지막 원소는 리스트의 맨 앞에 넣는 것을 말합니다. 이를 위해 다음과 같이 프로그램 구조를 작성했습니다. 1. arrA와 arrB의 길이가 다르면 false를 return 합니다. 2. 두 리스트의 구성 성분이 달라 회전했을 때 같아질 가능성이 없다면 false를 return 합니다. 3. arrA 리스트를 두 번 이어 붙여 길이가 2배인 리스트로 만듭니다. 4. arrA의 부분 리스트 중 arrB와 같은 리스트가 있으면 true를, 그렇지 ..