일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- 1541번
- 1969번
- 2422번
- javascript
- 타입스크립트
- 5427번
- 타입스크립트 프로그래밍
- 나이트의이동
- 알고리즘
- 20300번
- 17626번
- 2503번
- 7526번
- 자바스크립트
- 풀이
- 13913번
- node.js
- 16953번
- 123만들기
- 6593번
- 16439번
- 14940번
- 정리
- 1926번
- 한윤정이 이탈리아에 가서 아이스크림을 사먹는데
- 20365번
- 5014번
- 백준
- 토마토
- 맥주마시면서걸어가기
- Today
- Total
목록Algorithm (45)
Sqsung DevLog

1. 문제 ㅡ 13549번: 숨바꼭질 3 (난이도: Gold V) 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 2. 풀이 ㅡ Node.js (자바스크립트) const [subin, sister] = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ').map(val => +val); const visited = Array.from({ length: 100001 }, () => false); // 수빈의 ..

1. 문제 ㅡ 7562번: 나이트의 이동(난이도: Silver I) 7562번: 나이트의 이동체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 2. 풀이 ㅡ Node.js (자바스크립트)const [N, ...input] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const solution = input => { // 나이트가 이동할 수 있는 방향들 const moves = [[-1, 2], [-2, 1], [-2, -1], [-1, -2], [1, ..

1. 문제 ㅡ 1926번: 그림(난이도: Silver I) 1926번: 그림어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로www.acmicpc.net 2. 풀이 ㅡ Node.js (자바스크립트)const [info, ...input] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const [Y, X] = info.split(' ').map(val => +val); const board = input.map(row => [...row.split(' ').map(val => +..

1. 문제 ㅡ 5014번: 스타트링크 (난이도: Silver I) 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 2. 풀이 ㅡ Node.js (자바스크립트) const [ buildingHeight, kangho, startlink, up, down ] = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ').map(val => +val); const visited = Array.from({ length: buildingHeight }, () => ..

1. 문제 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 2. 풀이 const [subin, sister] = require('fs').readFileSync('/dev/stdin').toString().trim().split(' ').map(val => +val); const visited = Array.from({ length: 100100 }, () => false); const bfsMoveSubin = N => { const queue = [[N, 0]]; visited[..

1. 문제 (난이도: Silver III) 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 2. 풀이 const [info, ...input] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); console.log( (() => { const [S, N] = info.split(' ').map(val => +val); const sample = {}; let included = 0; input.sp..

1. 문제 19583번: 싸이버개강총회 첫번째 줄에는 개강총회를 시작한 시간 S, 개강총회를 끝낸 시간 E, 개강총회 스트리밍을 끝낸 시간 Q가 주어진다. (00:00 ≤ S val.split(':').map(val => +val).reduce((a, c) => a * 100 + c) ); const at..

1. 문제 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 2. 풀이 const [N, targets, , ...relationships] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); const [p1, p2] = targets.split(' ').map(val => +val); const graph = Array.from({ length: +N + 1 }).map(() => []); const chec..

백준에서 4358번: 생태학 (난이도: Silver II) 확인하기 4358번: 생태학 프로그램은 여러 줄로 이루어져 있으며, 한 줄에 하나의 나무 종 이름이 주어진다. 어떤 종 이름도 30글자를 넘지 않으며, 입력에는 최대 10,000개의 종이 주어지고 최대 1,000,000그루의 나무가 주어 www.acmicpc.net 1. 풀이 const trees = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); console.log( (() => { const TOTAL = trees.length; const counts = {}; let answer = ''; trees.forEach(tree => { counts[tree] ?..

백준에서 1021번: 회전하는 큐 (난이도: Silver III) 확인하기 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 1. 풀이 const [info, input] = require('fs').readFileSync('/dev/stdin').toString().split('\n'); const [len, targetCount] = info.split(' ').map(val => +val); const targets = input.split(' ').map(val => +val); const deque = []; fo..