본문 바로가기

코딩 테스트120

17088 등차수열 변환 문제크기가 N인 수열 A = [A1, A2, ..., AN]이 있을 때, 모든 1 ≤ i 수열 B = [B1, B2, ..., BN]을 등차수열로 변환하려고 한다. 각각의 수에는 연산을 최대 한 번 적용할 수 있다. 연산은 두 가지가 있는데, 1을 더하거나 1을 빼는 것이다. 수열 B를 등차수열로 변환하기 위해 필요한 연산 횟수의 최솟값을 구해보자.입력첫째 줄에 수열 B의 크기 N(1 ≤ N ≤ 105)이 주어진다. 둘째 줄에는 B1, B2, ..., BN(1 ≤ Bi ≤ 109)이 주어진다.출력수열 B를 등차수열로 변화시키기 위한 연산 횟수의 최솟값을 출력한다. 등차수열로 변환시킬 수 없다면 -1을 출력한다.=====문제 풀이숫자 배열에서 각 인덱스에 적힌 숫자를 -1 ,0 ,+1 계산이 가능하며 그 .. 2025. 1. 14.
16936 나3곱2 (자바스크립트) 문제나3곱2 게임은 정수 하나를 이용한다. 가장 먼저, 정수 x로 시작하고, 연산을 N-1번 적용한다. 적용할 수 있는 연산은 두 가지 있고, 아래와 같다.나3: x를 3으로 나눈다. x는 3으로 나누어 떨어져야 한다.곱2: x에 2를 곱한다.나3곱2 게임을 진행하면서, 만든 수를 모두 기록하면 수열 A를 만들 수 있다. 예를 들어, x = 9, N = 6이고, 적용한 연산이 곱2, 곱2, 나3, 곱2, 나3인 경우에 A = [9, 18, 36, 12, 24, 8] 이다.수열 A의 순서를 섞은 수열 B가 주어졌을 때, 수열 A를 구해보자.입력첫째 줄에 수열의 크기 N(2 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 수열 B가 주어진다. B에 포함된 원소는 1018 보다 작거나 같은 자연수이다.출력나3곱2.. 2025. 1. 14.
2580 스도쿠 (자바스크립트) https://www.acmicpc.net/problem/2580문제 분석입력으로 스도쿠가 주어졌을 때, 알맞은 숫자가 들어간 정답을 출력하는 문제이다.각 칸 별로 가능한 모든 숫자들을 넣어보는 브루트포스 문제이다.우선 빈칸(gr[i][j] 가 0)인 좌표들을 모두 구해서 배열에 넣어본다.let answer = 0; const coordinate = []; for (let i = 0; i 이 빈칸들을 하나하나 탐색해가면서 행,열,사각형(3*3)을 탐색해가면서 가능한 숫자들을 구해보고 가능한 숫자가 있다면 그 다음 좌표를 탐색하는 dfs 방식을 사용했다.const dfs = (coordiIdx, cnt) => { if (cnt === answer) { console.log(gr.. 2025. 1. 13.
16197 두 동전 문제N×M 크기의 보드와 4개의 버튼으로 이루어진 게임이 있다. 보드는 1×1크기의 정사각형 칸으로 나누어져 있고, 각각의 칸은 비어있거나, 벽이다. 두 개의 빈 칸에는 동전이 하나씩 놓여져 있고, 두 동전의 위치는 다르다.버튼은 "왼쪽", "오른쪽", "위", "아래"와 같이 4가지가 있다. 버튼을 누르면 두 동전이 버튼에 쓰여 있는 방향으로 동시에 이동하게 된다.동전이 이동하려는 칸이 벽이면, 동전은 이동하지 않는다.동전이 이동하려는 방향에 칸이 없으면 동전은 보드 바깥으로 떨어진다.그 외의 경우에는 이동하려는 방향으로 한 칸 이동한다.이동하려는 칸에 동전이 있는 경우에도 한 칸 이동한다.두 동전 중 하나만 보드에서 떨어뜨리기 위해 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오.입력첫째.. 2025. 1. 13.
1248 Guess (자바스크립트) 문제Given a sequence of integers, a1, a2, …, an, we define its sign matrix S such that, for 1 ≤ i ≤ j ≤ n, Sij="+" if ai + … + aj > 0; Sij="−" if ai + … + aj For example, if (a1, a2, a3, a4)=( −1, 5, −4, 2), then its sign matrix S is a 4×4 matrix:  12341234-+0+ +++  --   +We say that the sequence (−1, 5, −4, 2) generates the sign matrix. A sign matrix is valid if it can be generated by a sequence .. 2025. 1. 12.
6064 카잉 달력 문제최근에 ICPC 탐사대는 남아메리카의 잉카 제국이 놀라운 문명을 지닌 카잉 제국을 토대로 하여 세워졌다는 사실을 발견했다. 카잉 제국의 백성들은 특이한 달력을 사용한 것으로 알려져 있다. 그들은 M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현하였다. 그들은 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현하였다. 의 다음 해를 표현한 것을 이라고 하자. 만일 x 은 그들 달력의 마지막 해로서, 이 해에 세상의 종말이 도래한다는 예언이 전해 온다.예를 들어, M = 10 이고 N = 12라고 하자. 첫 번째 해는 로 표현되고, 11번째 해는 로 표현된다. 은 13번째 해를 나타내고, 는 마지막인 60번째 해를 나타낸다.네 개의 정.. 2025. 1. 9.
17298 오큰수 , 17299 오등큰수 (자바스크립트) 문제크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다.예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,00.. 2025. 1. 8.
1339 단어 수학 (자바스크립트) 문제민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다.단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다.예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다.N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오.입력첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터.. 2025. 1. 8.
11057 오르막 수 (자바스크립트) 문제오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다.예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다.수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다.입력첫째 줄에 N (1 ≤ N ≤ 1,000)이 주어진다.출력첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다.===문제 분석2236 라는 숫자 이후에 만들 수 있는 다섯자리 오르막 수는 22367 22368 22369 이다모든 수의 끝자리에 그 이상의 수를 붙이면 다음 자릿 수를 갖는 오르막 수를 구할 수 있다는 뜻이다.이를 위해 각 자릿수를 r.. 2025. 1. 8.