백준(33)
-
[백준 알고리즘] Node.js 2865. 나는 위대한 슈퍼스타K
1. 문제 https://www.acmicpc.net/problem/2865 2865번: 나는 위대한 슈퍼스타K 첫째 줄에 N, M, K가 주어진다. (1 ≤ M ≤ 100, 1 ≤ K ≤ N ≤ 100) 다음 M개의 줄은 각 장르에 대한 참가자의 능력이 주어진다. 이 줄에는 N개의 (i, s)쌍이 주어진다. 여기서 i는 참가자의 번호, s는 그 www.acmicpc.net 2. 풀이 문제를 이해하는 것부터 애를 먹었던 문제였다. N명이 참가했고, M개의 장르에 대한 오디션을 보았고, K명이 본선에 올라갈 수 있다. 한 사람이 여러 장르를 부를 수는 없지만, 여러 사람이 같은 장르를 부를 수는 있다. 위의 부분이 핵심이였다. 그래서 각각의 N명의 장르에 대한 최대값을 찾고, 내림차순 정렬을 진행하고, K..
2023.08.29 -
[백준 알고리즘] Node.js 1531. 투명
1. 문제 https://www.acmicpc.net/problem/1531 1531번: 투명 첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌 www.acmicpc.net 2. 풀이 100 * 100 크기의 그림을 가지고 있고, 1 * 1 크기의 종이로 모자이크 처리한다. 불투명한 종이로 그림을 가리지만, M개 이하의 종이가 올려져 있으면 그 부분은 보이는 부분이다. const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n'); // 모자이크하는 N개..
2023.08.10 -
[백준 알고리즘] Node.js 1439. 뒤집기
1. 문제 https://www.acmicpc.net/problem/1439 1439번: 뒤집기 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모 www.acmicpc.net 2. 풀이 0과 1로만 이루어진 문자열에 대해서 모든 숫자를 같게 만들기 위해 뒤집어야 하는 최소 횟수를 찾는 문제이다. 0으로 나눈 배열과 1로 나눈 배열의 길이를 비교하여 작은 값을 출력해야겠다고 생각. const inputs = require('fs').readFileSync('/dev/stdin').toString().trim(); // 0 으로 split 한 배열의 길이 con..
2023.08.10 -
[백준 알고리즘] Node.js 1417. 국회의원 선거
1. 문제 https://www.acmicpc.net/problem/1417 1417번: 국회의원 선거 첫째 줄에 후보의 수 N이 주어진다. 둘째 줄부터 차례대로 기호 1번을 찍으려고 하는 사람의 수, 기호 2번을 찍으려고 하는 수, 이렇게 총 N개의 줄에 걸쳐 입력이 들어온다. N은 50보다 작거나 같 www.acmicpc.net 2. 풀이 맨 처음은 후보 수 N이 오고, 두번째줄부터 후보에 해당하는 표수가 나온다. 그 중 첫번째가 다솜이가 받을 표다. 가장 많은 표를 받기 위해서 다른 사람의 표를 가져와야 한다. const [N, ...inputs] = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n").map(v => +v)..
2023.08.07 -
[백준 알고리즘] Node.js 1402. 아무래도이문제는A번난이도인것같다
1. 문제 https://www.acmicpc.net/problem/1402 1402번: 아무래도이문제는A번난이도인것같다 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 100)이 주어진다. 테스트 케이스마다 두 정수 A, B(-231 ≤ A, B ≤ 231-1)가 주어진다. www.acmicpc.net 2. 풀이 A의 경우 a1 * a2 * a3 ... * an = A가 된다고 했고, A'의 경우 a1 + a2 + a3 + ... + an = A' 이 된다고 했다. 처음에는 A의 약수를 구해서 더했을 때 A'값이 된다면 yes, 아니면 no라고 문제를 이해했었다. 하지만 A와 A'이 음수일 경우도 있고, 범위가 엄청 넓어서 이 방법은 아니라고 생각했다. 몇분 생각해보니 A = A * 1, A' = ..
2023.08.07