본문 바로가기
728x90
반응형

코딩테스트/Cos Pro 1급 Java20

[Cos Pro 1급 java] [4차] 문제8) n번째 작은 수 구하기 안녕하세요 이번 포스팅은 Cos Pro 1급 java 4차 기출 문제 중 8번 문제인 n번째 작은 수 구하기 입니다. 개인적으로는 이번 문제가 가장 어려웠다고 생각합니다. □ 문제설명 1 이상 9 이하 숫자가 적힌 카드를 이어 붙여 숫자를 만들었습니다. 이때, 숫자 카드를 조합해 만든 수 중에서 n이 몇 번째로 작은 수인지 구하려 합니다. 예를 들어, 숫자 카드 1, 2, 1, 3로 만들 수 있는 수를 작은 순으로 나열하면 [1123, 1132, 1213, 1231, 1312, ... , 3121, 3211]입니다. n이 1312라면, 숫자 카드를 조합해 만든 수 중 n은 n은 5번째로 작은 수입니다. 숫자 카드를 담은 배열 card, card의 길이 card_len, 수 n이 매개변수로 주어질 때 숫자.. 2021. 3. 25.
[Cos Pro 1급 java] [6차] 문제6) 만났을때 최대인 경우 안녕하세요 이번 포스팅은 Cos Pro 1급 java 6차 기출문제 중 6번 문제인 만났을 때 최대인 경우 문제를 풀어보겠습니다. □ 문제설명 4 x 4 크기인 정사각형 종이가 1 x 1 크기인 격자 칸으로 나누어져 있습니다. 이 종이를 가로축 혹은 세로축에 평행한 격자 선을 따라 한 번 접었을 때, 만나는 격자 칸에 적힌 숫자의 합이 최대가 되도록 하려 합니다. 종이를 접을 때는 만나는 격자 칸이 정확히 일치하도록 해야 합니다. 예를 들어 다음과 같이 4 x 4 크기인 종이가 있을 때, 종이는 점선 중 하나를 따라서 접을 수 있습니다. 이때, 붉은색 점선을 따라 종이를 접으면 36과 19가 적힌 칸이 정확히 만납니다. 두 숫자의 합은 55이며, 이때가 최댓값입니다. 4 x 4 크기인 정사각형 종이의 각.. 2021. 3. 24.
[Cos Pro 1급 java] [6차] 문제5) 코인을 많이 획득하세요 coins[i][j] = board[i][j] + Math.max(coins[i-1][j], coins[i][j-1]); 안녕하세요. 이번 포스팅은 Cos Pro 1급 java 6차 기출 문제 중 5번 문제인 코인을 많이 획득하세요를 풀어보겠습니다. 처음에 BFS를 이용해서 풀어야 하나 싶었는데 굳이 그렇게 안해도 풀리는 것 같더라구요.. □ 문제설명 A 게임은 4x4 격자 모양의 보드의 가장 왼쪽 위에서 가장 오른쪽 아래로 말을 이동시키면서 각 구역에 있는 코인을 획득하는 게임입니다. 이때, 말은 오른쪽 또는 아래쪽으로만 이동할 수 있습니다. 예를 들어, 보드가 아래와 같다면 아래의 경우가 코인을 최대로 획득할 수 있는 경우이고 이때 획득하는 코인은 38입니다. 각 구역에서 획득할 수 있는 코인 양을 .. 2021. 3. 24.
[Cos Pro 1급 java] [6차] 문제4) 카드 섞기 안녕하세요 이번 포스팅은 Cos Pro 1급 java 6차 기출 문제 중 4번 문제인 카드 섞기를 풀어보겠습니다. 한 줄 바꾸기 문제 중 많은 시간이 걸린 문제라 다뤄보겠습니다. □ 문제설명 1부터 n까지 숫자가 적힌 카드 뭉치를 다음 규칙에 따라 카드 뭉치를 섞었을 때, 아래에서부터 k번째에 있는 카드에 적힌 숫자를 알아내려합니다. 카드 뭉치 가장 아래에는 1이 쓰여있으며, 위로 갈수록 숫자가 커집니다. 카드 뭉치를 섞는 규칙은 다음과 같습니다. 카드 뭉치를 정확히 반으로 나눕니다. 두 개로 나뉜 카드 뭉치를 교차로 섞어서 카드 뭉치 하나를 만듭니다. 이때, 항상 1이 적힌 카드가 있는 뭉치를 아래로 놓고 섞습니다. 위 과정을 반복합니다. 예를 들어, 1부터 6까지 숫자가 적힌 카드 뭉치를 3번 섞는다.. 2021. 3. 24.
[Cos Pro 1급 java] [6차] 문제2) 단어를 순서대로 적으세요 안녕하세요 이번 포스팅은 Cos Pro 1급 java 6차 기출 문제 중 2번 문제인 단어를 순서대로 적으세요 문제를 풀어보겠습니다. □ 문제설명 한 줄에 K자를 적을 수 있는 메모장에 영어 단어들을 적으려 합니다. 영어 단어는 정해진 순서로 적어야 하며, 단어와 단어 사이는 공백 하나로 구분합니다. 단, 한 줄의 끝에 단어 하나를 완전히 적지 못한다면, 그 줄의 나머지 부분을 모두 공백으로 채우고 다음 줄부터 다시 단어를 적습니다. 예를 들어 한 줄에 10자를 적을 수 있고, 주어진 단어가 순서대로 `["nice", "happy", "hello", "world", "hi"]` 인 경우 각 줄에 다음과 같이 적을 수 있습니다.('_'는 공백을 나타냅니다.) 첫째 줄 : `"nice_happy"` 둘째 줄.. 2021. 3. 22.
[Cos Pro 1급 java] [6차] 문제1) 꽃피는 봄이 언제 오나요 안녕하세요 이번 포스팅은 Cos Pro 1급 java 6차 기출문제 중 1번 문제인 꽃피는 봄이 언제 오나요 문제를 풀어보겠습니다. □ 문제설명 n x n 크기 격자 모양 정원에 칸마다 핀 꽃 또는 피지 않은 꽃을 심었습니다. 이 정원의 꽃이 모두 피는 데 며칠이 걸리는지 알고 싶습니다. 핀 꽃은 하루가 지나면 앞, 뒤, 양옆 네 방향에 있는 꽃을 피웁니다. 정원 크기 n과 현재 정원의 상태를 담은 2차원 배열 garden이 주어졌을 때, 모든 꽃이 피는데 며칠이 걸리는지 return 하도록 solution 함수를 작성해주세요. □ 매개변수 설명 정원 크기 n과 현재 정원 상태를 담은 2차원 배열 garden이 solution 함수의 매개변수로 주어집니다. 정원 크기 n은 1보다 크고 100 보다 작거나.. 2021. 3. 22.
728x90
반응형