전체 글
![[12945번] 피보나치 수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBmkpI%2FbtrImP3AqhY%2FAAAAAAAAAAAAAAAAAAAAAAsemHAwYI0bUP7BAa0vTMIB0NXk4oHUpb4L--xarg8w%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DgeDPa1CvZ9TuhOYZNOd3lOPXuTw%253D)
[12945번] 피보나치 수
✔️ 문제 설명 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = 2 + 3 = 5 와 같이 이어집니다. 2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 완성해 주세요. ✔️ 제한 사항 n은 2 이상 100,000 이하인 자연수입니다. ✔️ 입출력 예 피보나치수는 0번째부터 0, 1, 1, 2, 3, 5, ... 와 같이 이어집니다..
![[12909번] 올바른 괄호](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FJ5URX%2FbtrIjOXfOqG%2FAAAAAAAAAAAAAAAAAAAAAIuV9ArFHReLaOGiDvzir01Z16y9BZ53wnq4VQv2gKBE%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DrPgHa9V3YYsI%252BK6FuWamnLJZo1U%253D)
[12909번] 올바른 괄호
✔️ 문제 설명 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 "()()" 또는 "(())()" 는 올바른 괄호입니다. ")()(" 또는 "(()(" 는 올바르지 않은 괄호입니다. '(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요. ✔️ 제한 사항 문자열 s의 길이 : 100,000 이하의 자연수 문자열 s는 '(' 또는 ')' 로만 이루어져 있습니다. ✔️ 입출력 예 ✔️ 코드 구상 쉬운 스택 문제이다. 문자가 여는 괄호면 push하고 문자가 닫는 괄호인데 peek 했을..
![[12941번] 최솟값 만들기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FlU3Rj%2FbtrIdXAiGQM%2FAAAAAAAAAAAAAAAAAAAAAPEdneHLQGOQsyPD3XS-FR6iPPVe4pMuiEq97XQrLPvH%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DCOBvGHjC9aCXJJ1h%252FHVB0dB4iRU%253D)
[12941번] 최솟값 만들기
✔️ 문제 설명 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) =..
![[49994번] 방문 길이](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcdBCnF%2FbtrH3bzGoWD%2FAAAAAAAAAAAAAAAAAAAAABZOE3iLBhRfJDQ9SQFhg671i-6GyJoqydNYum6WyMul%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dup1GcU4bUxcZumrN8HDabNNeP1s%253D)
[49994번] 방문 길이
✔️ 문제 설명 게임 캐릭터를 4가지 명령어를 통해 움직이려 합니다. 명령어는 다음과 같습니다. U: 위쪽으로 한 칸 가기 D: 아래쪽으로 한 칸 가기 R: 오른쪽으로 한 칸 가기 L: 왼쪽으로 한 칸 가기 캐릭터는 좌표평면의 (0, 0) 위치에서 시작합니다. 좌표평면의 경계는 왼쪽 위(-5, 5), 왼쪽 아래(-5, -5), 오른쪽 위(5, 5), 오른쪽 아래(5, -5)로 이루어져 있습니다. 예를 들어, "ULURRDLLU"로 명령했다면 1번 명령어부터 7번 명령어까지 다음과 같이 움직입니다. 8번 명령어부터 9번 명령어까지 다음과 같이 움직입니다. 이때, 우리는 게임 캐릭터가 지나간 길 중 캐릭터가 처음 걸어본 길의 길이를 구하려고 합니다. 예를 들어 위의 예시에서 게임 캐릭터가 움직인 길이는 9이..
![[12899번] 124 나라의 숫자](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FBii26%2FbtrH74S3f0y%2FAAAAAAAAAAAAAAAAAAAAALukwXd6Fk-fTp9pqWQpR3VlvhPcO2rUHc5TuwAD8i6L%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DlTYjsEPt1c3qDMZRepRCUfTJ4Zk%253D)
[12899번] 124 나라의 숫자
✔️ 문제 설명 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. 예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다. 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요. ✔️ 제한 사항 n은 500,000,000이하의 자연수 입니다. ✔️ 입출력 예 ✔️ 코드 구상 n을 3진법으로 구하는 문제에서 약간 변형된 문제이다. 우선 아래 표를 생각하면 쉽게 이해될 것이다. 10진법 3진법 124 나라 1 1 1 2 2 2 3 10 4 4 11 ..
![[42746번] 가장 큰 수](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbmT7X1%2FbtrH2mNzJhJ%2FAAAAAAAAAAAAAAAAAAAAAJNoRDEwnGwhdtzbo_bqL6NMkqFT4xGwQuScPCttpGUf%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DwAKN4Kxzq3GBomBI4I2DS1uYoZE%253D)
[42746번] 가장 큰 수
✔️ 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. ✔️ 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. ✔️ 입출력 예 ✔️ 코드 구상 numbe..
![[68936번] 쿼드압축 후 개수 세기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FpTRTt%2FbtrHT1pBzt5%2FAAAAAAAAAAAAAAAAAAAAAK3-3KKkBiD_x6DtBrH4i6wz2cPLOM_3-U8Eg9nH6tVo%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DPPNvcuiRq3HKZiQZaJZcEaNvXb8%253D)
[68936번] 쿼드압축 후 개수 세기
✔️ 문제 설명 0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다. 만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다. 그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다. arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0의 개수와 1의 개수를 배열에 담아서 return 하도록 solution 함수를 완성해주세요. 더보기 ✔️ 입출..
![[17683번] 방금그곡](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FyfNTs%2FbtrHSAFnFrI%2FAAAAAAAAAAAAAAAAAAAAAIdqpCx-jawdkICbI0W4E5QPsiM17VeSJGe4Z6PdJzl_%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DMreXqXFixL3A0bDUYMvklVK24WA%253D)
[17683번] 방금그곡
✔️ 문제 설명 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. 그런데 라디오 방송에서는 한 음악을 반복해서 재생할 때도 있어서 네오가 기억하고 있는 멜로디는 음악 끝부분과 처음 부분이 이어서 재생된 멜로디일 수도 있다. 반대로, 한 음악을 중간에 끊을 경우 원본 음악에는 네오가 기억한 멜로디가 들어있다 해도 그 곡이 네오가 들은 곡이 아닐 수도 있다. 그렇기 때문에 네오는 기억한 멜로디를 재생 시간과 제공된 악보를 직접 보면서 비교..
![[Spring] Swagger? Spring REST Docs?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbQRmQx%2FbtrHNVQQ5c0%2FAAAAAAAAAAAAAAAAAAAAABTres5Klu-U0kmTY76o3Jhuk0M4SKIs25t91Cv5g8o-%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dt2kO7SNGwrDKW%252BwVubzdvlcHswI%253D)
[Spring] Swagger? Spring REST Docs?
✔️ Swagger Swagger는 Open Api Specification(OAS)를 위한 프레임워크이며 REST API 개발자 도구로 설계 및 문서화를 위해 API Spec을 관리하기 위한 프로젝트입니다. OAS는 RESTful 웹서비스를 약속된 규칙에 따라 API 스펙을 JSON과 YAML 형식으로 표현합니다. 이를 통해, 직접 소스코드를 보거나 추가 문서 필요없이 서비스를 이해할 수 있습니다. Swagger는 API들이 가지고 있는 Spec을 관리할 수 있습니다. 협업을 진행하거나 이미 만들어져 있는 프로젝트에 대해 유지보수를 진행하게 되면 구축되어 있는 API 서버가 어떤 스펙을 가지고 있는지 파악해야 하는데 이러한 스펙을 정리하기 위해 API 문서화 작업을 하게 되고, 이 과정을 직접 손으로 ..
![[70129번] 이진 변환 반복하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FAhX1L%2FbtrHL2h5s6F%2FAAAAAAAAAAAAAAAAAAAAANCcVbDiFSbbBjaHhi7cWbc56vzHypGNCHFuuuXeudMn%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DftVeyMd8yF0ltBgjW0n2l%252FFscWU%253D)
[70129번] 이진 변환 반복하기
✔️ 문제 설명 0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다. x의 모든 0을 제거합니다. x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다. 예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다. 0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요. 더보기 ✔️ 입출력 예 입출력 예 #1 "110010101001"이 "1"이 될 때까지 이진 변환을 가하는 과정은..
![[12980번] 점프와 순간 이동](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcJvQ9t%2FbtrHDjjr0jL%2FAAAAAAAAAAAAAAAAAAAAAB037fZ403YVY4_r6AW6z8jpqVGJtsnCiwRCWHz8IGTX%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DYB3J2q8VoRyYE%252BOF81nbRgYGFz8%253D)
[12980번] 점프와 순간 이동
✔️ 문제 설명 OO 연구소는 한 번에 K 칸을 앞으로 점프하거나, (현재까지 온 거리) x 2 에 해당하는 위치로 순간이동을 할 수 있는 특수한 기능을 가진 아이언 슈트를 개발하여 판매하고 있습니다. 이 아이언 슈트는 건전지로 작동되는데, 순간이동을 하면 건전지 사용량이 줄지 않지만, 앞으로 K 칸을 점프하면 K 만큼의 건전지 사용량이 듭니다. 그러므로 아이언 슈트를 착용하고 이동할 때는 순간 이동을 하는 것이 더 효율적입니다. 아이언 슈트 구매자는 아이언 슈트를 착용하고 거리가 N 만큼 떨어져 있는 장소로 가려고 합니다. 단, 건전지 사용량을 줄이기 위해 점프로 이동하는 것은 최소로 하려고 합니다. 아이언 슈트 구매자가 이동하려는 거리 N이 주어졌을 때, 사용해야 하는 건전지 사용량의 최솟값을 ret..
![[77885번] 2개 이하로 다른 비트](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbxGtxX%2FbtrHAIcjSRR%2FAAAAAAAAAAAAAAAAAAAAALGtSSqHJWBSG8mXSJCVcEL442QWs6tKWzIQbEPXslcw%2Fimg.jpg%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DUTTUcHli%252B84TuHmv5jAEztqpGKk%253D)
[77885번] 2개 이하로 다른 비트
✔️ 문제 설명 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 정수들이 담긴 배열 numbers가 매개변수로 주어집니다. numbers의 모든 수들에 대하여 각 수의 f 값을 배열에 차례대로 담아 return 하도록 solution 함수를 완성해주세요. ✔️ 제한 사항 1 ≤ numbers의 길이 ≤ 100,000 0 ≤ numbers의 모..