코딩연습(68)
-
[백준 알고리즘] Node.js 1817. 짐 챙기는 숌
1. 문제 https://www.acmicpc.net/problem/1817 1817번: 짐 챙기는 숌 첫째 줄에 책의 개수 N과 박스에 넣을 수 있는 최대 무게 M이 주어진다. N은 0보다 크거나 같고 50보다 작거나 같은 정수이고, M은 1,000보다 작거나 같은 자연수이다. N이 0보다 큰 경우 둘째 줄에 책 www.acmicpc.net 2. 풀이 내가 생각한 방법은 책은 무조건 순서대로만 뽑을 수 있기에 반복문을 이용하여 한 권씩 무게를 가져왔다. 이후 sum 이라는 변수에 책의 무게를 더하고, 박스의 개수를 위한 변수인 count를 추가해준다. 만약 sum이 주어진 M 의 값보다 작다면 count를 하나 감소시킨다. 만약 sum이 주어진 M의 값보다 크다면 sum을 0으로 초기화시키고, 다시 해..
2023.11.21 -
[백준 알고리즘] Node.js 1769. 3의 배수
1. 문제 https://www.acmicpc.net/problem/1769 1769번: 3의 배수 문제가 잘 풀리지 않을 때, 문제를 바라보는 시각을 조금만 다르게 가지면 문제가 쉽게 풀리는 경험을 종종 해 보았을 것이다. 여러 가지 방법이 있지만 그 중 하나로 우리가 풀고 싶은 문제를 www.acmicpc.net 2. 풀이 나는 이런 순서로 풀었다. 입력되는 정수의 값이 한 자리 수인지 확인. 한자리 수가 아니라면 정수들의 각 자리수의 값을 더해줌. 더한 값이 한자리 수가 된다면 반복 종료. 한자리수가 되지 않았다면 한자리수가 될 때까지 각 자리수를 더함. const inputs = require('fs').readFileSync('/dev/stdin').toString().trim().split('..
2023.11.20 -
[백준 알고리즘] Node.js 14171. Cities and States
1. 문제 https://www.acmicpc.net/problem/14171 14171번: Cities and States To keep his cows intellectually stimulated, Farmer John has placed a large map of the USA on the wall of his barn. Since the cows spend many hours in the barn staring at this map, they start to notice several curious patterns. For example, the cities of Fl www.acmicpc.net 2. 풀이 처음에는 도시의 이름을 코드별로 두글자씩 잘라서 이용하려고 했었다. const input..
2023.09.05 -
[백준 알고리즘] Node.js 15810. 풍선 공장
1. 문제 https://www.acmicpc.net/problem/15810 15810번: 풍선 공장 1, 2, 3번 스태프가 각각 5분, 7분, 3분씩 걸린다면 3분이 지났을 때 3번 스태프가 1개, 5분에 1번 스태프가 1개, 6분에 3번 스태프가 1개를, 7분에 2번 스태프가 1개를, 9분에 3번 스태프가 1개를, 10분에 www.acmicpc.net 2. 풀이 이분탐색(Binary Search)를 이용하여 푸는 문제이다. const [N, M, ...staff] = require('fs').readFileSync('/dev/stdin') .toString().trim().split(/\s/).map(v => +v); // 풍선의 수가 만들어야 되는 M 개 보다 많은 지 확인하는 함수. const..
2023.09.01 -
[백준 알고리즘] Node.js 12018. Yonsei TOTO
1. 문제 https://www.acmicpc.net/problem/12018 12018번: Yonsei TOTO 첫째 줄에는 과목 수 n (1 ≤ n ≤ 100)과 주어진 마일리지 m (1 ≤ m ≤ 100)이 주어진다. 각 과목마다 2줄의 입력이 주어지는데 첫째 줄에는 각 과목에 신청한 사람 수 Pi과 과목의 수강인원 Li이 주어 www.acmicpc.net 2. 풀이 주어진 마일리지로 최대로 들을 수 있는 과목의 수를 구하는 문제이다. 마일리지가 같다면 우선순위가 주어진다고 하니, 수강인원 안에만 들어가게 하면 된다. 예를 들면 수강인원이 4명이라면 4번째로 큰 값과 동일하다면 된다는 의미이다. const inputs = require('fs').readFileSync('/dev/stdin').to..
2023.08.30