백준 18230 < 2xN 예쁜 타일링 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/18230 18230번: 2xN 예쁜 타일링 첫째 줄에 정수 N, A, B(1 ≤ N, A, B ≤ 2000, 2 × B + A ≥ N)가 공백으로 구분되어 주어진다. 둘째 줄에 각 2×1 크기 타일의 예쁨을 의미하는 정수 A개가 공백으로 구분되어 주어진다. 셋째 줄에 각 2× www.acmicpc.net 📍알고리즘 분류 - 그리디 알고리즘 - 정렬 📍문제 풀이 2 * 1 타일과 2 * 2 타일에 점수가 있을 때, 정해진 공간 N에 타일을 깔며 점수 최대값을 획득하는 문제 각 타일 배열을 오름차순으로 정렬하여 pop으로 꺼내서 사용 (성능을 위해) 2 * 1 타일 2개의 점수와 2 * 2 타일 1개의 점수를 비교하여 큰 쪽을 사용 N ..
백준 18223 < 러버덕을 사랑하는 모임 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/18233 18233번: 러버덕을 사랑하는 모임 첫 번째 줄에 정수 N, P, E가 공백으로 구분되어 주어진다. (1 ≤ N, P ≤ 20, 1 ≤ E ≤ 1,000,000) 그 다음 줄부터 N개의 줄에 걸쳐 회원 1부터 순서대로 xi와 yi가 공백으로 구분되어 주어진다. (1 ≤ xi www.acmicpc.net 📍알고리즘 분류 - 브루트포스 📍문제 풀이 (백트래킹) DFS를 활용해 nCp 조합을 구하고, 각 경우의 수가 범위를 만족하면서 전체 합이 E인 것을 구하면 된다 1. 조합을 구해야 하므로 백트래킹 코드를 만든다. 스택에는 실제 데이터가 아닌 인덱스만 담는 것이 간편하다 (중복을 제거하기 쉽고, 속도도 빠름) 2. p 가짓수..
백준 1890 < 점프 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 📍알고리즘 분류 - 다이나믹 프로그래밍 📍문제 풀이 N * N (4 { const N = +input.shift(); const board = input.map((row) => row.split(" ").map(Number)); // 아예 memo를 여유있게 넉넉하게 만들기 const memo = Array.from({ length: N + 10 }, (_) => Array..
백준 16236 < 아기 상어 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 📍알고리즘 분류 - 구현 - 그래프 이론 - 그래프 탐색 - 너비 우선 탐색 - 시뮬레이션 📍문제 풀이 2차원 배열이 주어지고 상어와 1 ~ 6 크기의 물고기들이 2차원 배열에 위치할 때, 상어가 먹을 수 있는 모든 물고기를 잡아먹는데 걸리는 시간을 구한다 1. 먹을 수 있는 물고기들 좌표를 모두 조사한다 - BFS를 이용한다 - 먹을 수 있는 물고기가 더 이상 없으면, 진행을..
백준 2252 < 줄 세우기 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/2252 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 📍알고리즘 분류 - 그래프 이론 - 위상 정렬 📍문제 풀이 N명의 학생을 줄세우려 한다. M개의 선, 후 정보가 주어질 때 모든 학생을 줄세우는 아무 방법을 출력한다 - 답이 여러개일 수 있음 1 { const [N, M] = input[0]; const graph = {}; // 진입 차수(간선에서 도착 횟수)를 기록할 배열 const in..
백준 1655 < 가운데를 말해요 > JavaScript
·
☕️ 커리어 & 인터뷰 준비/코딩 테스트
📍문제 링크 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 📍알고리즘 분류 - 자료 구조 - 우선순위 큐 📍문제 풀이 1 = parent) break; this.values[parentIdx] = element; this.values[idx] = parent; idx = parentIdx; } } dequeue() { const min = this.values[0]; const end = this.values.pop(); if..