목록전체 글 (205)
2 단계 : 모음사전 코딩테스트 연습 > 완전탐색 > 모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 입출력 예 설명 입출력 예 ..
2 단계 : 피로도 코딩테스트 연습 > 완전탐색 > 피로도 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 ..
2 단계 : 연속 부분 수열 합의 개수 코딩테스트 연습 > 연습문제 > 연속 부분 수열 합의 개수 철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다. 원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다. 원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solutio..
어댑터 패턴 (Adapter) 어댑터는 호환되지 않는 인터페이스를 가진 객체들이 협업할 수 있도록 하는 구조적 디자인 패턴입니다. 어댑터는 한 객체의 인터페이스를 다른 객체가 이해할 수 있도록 변환하는 특별한 객체입니다. 어댑터 구성요소 Target class (JsonFormat class) : 기본 비즈니스 로직의 인터페이스와 호환되는 형식을 정의합니다. (JSON 분석 프로그램이라고 가정합니다) → JSON 형식의 데이터와만 통신 가능 Adaptee class : XML 형식의 데이터로써, 우리의 비즈니스 로직에 넣어서 처리할 수 없는 데이터 형식 Adapter class : Adaptee 객체를 받아서 적절한 처리 후, 우리의 비즈니스 로직이 처리할 수 있도록 JSON 형식으로 변환해주는 클래스 ..
Node port 강제 종료하기 상황 react app이나 nextjs의 터미널 에서 dev 서버를 실행시키는 등의, npm이나 yarn을 이용해서 port를 열고 종료할 때 ctrl + c 를 해도되지만 가끔 버그처럼 localhost:3000 포트가 종료되지 않는 경우가 있습니다. 또한 여러 앱을 실행시키고 있을 때 한번에 종료시키고 싶을 때가 있습니다. Window에서 node port 종료하기 터미널에서 입력 "node.exe"라는 이름을 가진 모든 프로세스를 강제로 종료합니다. 주의해서 실행해주세요. taskkill /F /IM node.exe Linux 또는 macOS에서 node port 종료하기 터미널에서 입력 (shell) "-9" 옵션은 SIGKILL 시그널을 사용하여 프로세스를 즉시 ..
next router, push vs replace router.push() push 메서드는 현재 페이지 스택에 새로운 페이지를 추가하고 해당 페이지로 이동합니다. 예를 들어, 사용자가 버튼을 클릭하면 push 메서드를 호출하여 새로운 페이지로 이동할 수 있습니다. 이렇게 하면 브라우저의 뒤로가기 버튼을 사용하여 이전 페이지로 되돌아갈 수 있습니다. router.push() 사용법 router.push(url, as, options); 1. url url (문자열 또는 객체): 이동할 페이지의 URL을 지정합니다. 문자열 형태로 URL을 전달할 수도 있고, 객체 형태로 경로와 쿼리 파라미터 등을 지정할 수 있습니다. // 문자열 형태로 URL 전달 router.push('/about'); // 객체 형..
0 단계 : 조건에 맞게 수열 변환하기2 코딩테스트 연습 > 코딩 기초 트레이닝 > 조건에 맞게 수열 변환하기2 정수 배열 arr가 주어집니다. arr의 각 원소에 대해 값이 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱하고 다시 1을 더합니다. 이러한 작업을 x번 반복한 결과인 배열을 arr(x)라고 표현했을 때, arr(x) = arr(x + 1)인 x가 항상 존재합니다. 이러한 x 중 가장 작은 값을 return 하는 solution 함수를 완성해 주세요. 단, 두 배열에 대한 "="는 두 배열의 크기가 서로 같으며, 같은 인덱스의 원소가 각각 서로 같음을 의미합니다. 제한사항 1 ≤ arr의 길이 ≤ 1,000,000 1 ≤ arr의 원소의 값 ≤ 100 입출력 예 ..
0 단계 : 전국 대회 선발 고사 코딩테스트 연습 > 코딩 기초 트레이닝 > 전국 대회 선발 고사 0번부터 n - 1번까지 n명의 학생 중 3명을 선발하는 전국 대회 선발 고사를 보았습니다. 등수가 높은 3명을 선발해야 하지만, 개인 사정으로 전국 대회에 참여하지 못하는 학생들이 있어 참여가 가능한 학생 중 등수가 높은 3명을 선발하기로 했습니다. 각 학생들의 선발 고사 등수를 담은 정수 배열 rank와 전국 대회 참여 가능 여부가 담긴 boolean 배열 attendance가 매개변수로 주어집니다. 전국 대회에 선발된 학생 번호들을 등수가 높은 순서대로 각각 a, b, c번이라고 할 때 10000 × a + 100 × b + c를 return 하는 solution 함수를 작성해 주세요. 제한사항 3 ≤..
0 단계 : 이차원 배열 대각선 순회하기 코딩테스트 연습 > 코딩 기초 트레이닝 > 이차원 배열 대각선 순회하기 2차원 정수 배열 board와 정수 k가 주어집니다. i + j
0 단계 : 왼쪽 오른쪽 코딩테스트 연습 > 코딩 기초 트레이닝 > 왼쪽 오른쪽 문자열 리스트 str_list에는 "u", "d", "l", "r" 네 개의 문자열이 여러 개 저장되어 있습니다. str_list에서 "l"과 "r" 중 먼저 나오는 문자열이 "l"이라면 해당 문자열을 기준으로 왼쪽에 있는 문자열들을 순서대로 담은 리스트를, 먼저 나오는 문자열이 "r"이라면 해당 문자열을 기준으로 오른쪽에 있는 문자열들을 순서대로 담은 리스트를 return하도록 solution 함수를 완성해주세요. "l"이나 "r"이 없다면 빈 리스트를 return합니다. 제한사항 1 ≤ str_list의 길이 ≤ 20 str_list는 "u", "d", "l", "r" 네 개의 문자열로 이루어져 있습니다. 입출력 예 st..