알고리즘/코딩 테스트
-
[백준] 5397 키로거 - 연결리스트!!알고리즘/코딩 테스트 2024. 2. 16. 11:10
키로거 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거는 사용자가 키보드를 누른 명령을 모두 기록한다. 따라서, 강산이가 비밀번호를 입력할 때, 화살표나 백스페이스를 입력해도 정확한 비밀번호를 알아낼 수 있다. 강산이가 비밀번호 창에서 입력한 키가 주어졌을 때, 강산이의 비밀번호를 알아내는 프로그램을 작성하시오. 강산이는 키..
-
[백준 1168] 요세푸스 문제 2 - 펜윅트리 응용알고리즘/코딩 테스트 2024. 2. 8. 11:10
요세푸스 문제 2 https://www.acmicpc.net/problem/1168 문제는 간단하다.. 알고리즘 구현이 어려울 뿐..! 1168번: 요세푸스 문제 2 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 100,000) www.acmicpc.net 문제 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 ..
-
[백준 1315] RPG - DP알고리즘/코딩 테스트 2024. 2. 7. 10:57
https://www.acmicpc.net/problem/1315 1315번: RPG 준규는 새 RPG 게임을 시작했다. 이 게임에서 캐릭터는 2가지 스탯을 가지고 있다. 하나는 힘(STR)이고, 다른 하나는 지력(INT)이다. 캐릭터를 생성했을 때, 두 스탯은 모두 1이다. 게임에는 총 N개의 www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 4449 1126 735 25.026% 문제 준규는 새 RPG 게임을 시작했다. 이 게임에서 캐릭터는 2가지 스탯을 가지고 있다. 하나는 힘(STR)이고, 다른 하나는 지력(INT)이다. 캐릭터를 생성했을 때, 두 스탯은 모두 1이다. 게임에는 총 N개의 퀘스트가 있다. i번째 퀘스트를 깨려면 캐릭터의 힘이 STR[i]..
-
[연결 리스트] 잦은 삽입 시 사용하는 알고리즘 (Feat. JAVA, C++)알고리즘/코딩 테스트 2024. 2. 6. 10:25
연습하기 좋은 문제 : 1228. [S/W 문제해결 기본] 8일차 - 암호문1 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1228. [S/W 문제해결 기본] 8일차 - 암호문1 1. node 클래스 설정 어떤 언어를 사용하든 간단하게 Node를 작성한다. 단, node는 next, data 요소를 가지고 있어야 한다. 2. nodeList 클래스 설정 NodeList는 head를 가지고 있어야 한다. 각각의 함수는 다음과 같은 기능이 있다...
-
[JS/ Node.js ] 백준 2588 문제 - 1의 자리수, 10의 자리수 , 100의 자리수 , 각 자리수알고리즘/코딩 테스트 2023. 8. 16. 19:26
2588번 문제 각 자리를 구해야 하는 문제이다. 추후에 각 자리 수를 구하는 공식을 작성해봤다. Math.floor( (number % 원하는자리수 * 10)/ 원하는 자리수) 위 공식을 이용하여 반복문 처리를 했다. const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n').map(Number) const answer = [] for (let i = 1 ; i
-
[JS/ Node.js ] 백준 10171, 10172 문제 - 백틱, 백 슬래시알고리즘/코딩 테스트 2023. 8. 16. 19:19
10171번 문제가 고양이 그림을 출력하는 문제이며 10172번은 개 그림을 출력하는 문제다. 10171번 문제 고양이 그림을 출력하는 문제를 먼저 살펴보자. 위 그림을 출력해야하는 문제다. 처음 접근은 우선 여러 줄을 한꺼번에 출력하게 만들었다. console.log(``) 백틱을 사용하면 여러 줄을 한 번에 출력할 수 있다. 백틱을 사용하여 출력 부분만 복사를 하여 넣었는데 에러가 뜨며 원하는 결과대로 출력되지 않았다. 백 슬래시(\)를 사용할 때는 두 번 입력해줘야 제대로 출력이 된다. 이 부분을 간과하고 바로 출력하여 에러가 발생하던 것이였다. 백 슬래시를 두 번 입력하니 원하는 대로 출력이 되었다. console.log(`\\ /\\ ) ( ') ( / ) \\(__)|`) 10172번 문제 그..
-
[백준 2589] 보물섬 - bfs,너비탐색 알고리즘, javascript,nodejs알고리즘/코딩 테스트 2023. 2. 17. 15:17
문제 : https://www.acmicpc.net/problem/2589 2589번: 보물섬 첫째 줄에는 보물 지도의 세로의 크기와 가로의 크기가 빈칸을 사이에 두고 주어진다. 이어 L과 W로 표시된 보물 지도가 아래의 예와 같이 주어지며, 각 문자 사이에는 빈 칸이 없다. 보물 지도의 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이지만 시작 지점을 모두 검사해보아야 한다. 2. 따라서 2중 for문을 돌면서 거리 탐색을 한다. 문제풀이 : 1. 입력값에서 row와 col, map,dist를 설정한다. const [row , col] = input[0].split(' ').map(Number) const map = input.slice(1).map(v=>v.split('..
-
[백준 7562] 나이트의 이동 - bfs, 너비탐색 알고리즘, javascript, node.js알고리즘/코딩 테스트 2023. 2. 17. 11:46
문제 : https://www.acmicpc.net/problem/7562 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 알고리즘 : 1. 이 문제는 전형적인 bfs 문제이다. 2. 출발지부터 하나씩 나이트를 이동시켜 최소 횟수를 출력시키면 된다. 3. 횟수를 셀때는 visit[ny][nx] = visit[y][x] + 1 로 설정해서 이동횟수를 설정해야 한다. 문제 풀이 : 1. input 에서 각각의 테스트 별로 n, 현재 위치, 목표 위치를 저장한다. for (let i=0;iArray.from({len..