분류 전체보기(100)
-
[백준 알고리즘] Node.js 1235. 학생 번호
1. 문제 https://www.acmicpc.net/problem/1235 1235번: 학생 번호 첫째 줄에는 학생의 수 N(2≤N≤1,000)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 학생의 학생 번호가 순서대로 주어진다. 모든 학생들의 학생 번호는 서로 다르지만 그 길이는 모두 같으며, 0부 www.acmicpc.net 2. 풀이 학생들의 번호를 뒤에서부터 잘랐을 때, 모든 학생들의 번호를 서로 다르게 만들 수 있는 최소의 k를 구하는 문제이다. slice 메서드를 이용해서 문자열을 잘랐다 set 함수를 이용하여 중복을 제거한 후, set의 사이즈와 문자열을 잘랐던 리스트의 길이가 동일하다면 모든 학생들의 번호가 서로 다르다고 생각하고 문제를 해결했다. const [N, ...students]..
2023.11.22 -
[백준 알고리즘] Node.js 1205. 등수 구하기
1. 문제 https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 2. 풀이 태수의 새로운 점수가 몇등을 기록할 수 있는지 확인하는 문제이다. sort 메서드와 indexOf 메서드를 이용하여 순위를 구하는 함수를 만들어서 풀었다. const [N, newScore, P, ...list] = require('fs').readFileSync('/dev/stdin') .toString().trim().split(/\s/).ma..
2023.11.22 -
[백준 알고리즘] Node.js 1996. 지뢰 찾기
1. 문제 https://www.acmicpc.net/problem/1996 1996번: 지뢰 찾기 첫째 줄에 N(1 ≤ N ≤ 1,000)이 주어진다. 다음 N개의 줄에는 지뢰 찾기 map에 대한 정보가 주어지는데 '.' 또는 숫자로 이루어진 문자열이 들어온다. '.'는 지뢰가 없는 것이고 숫자는 지뢰가 있는 경 www.acmicpc.net 2. 풀이 8방향 탐색을 진행하기 위해 사전에 array로 움직일 위치들을 만들어주었다. 이중 반복을 통해 각 위치를 탐색했고, 탐색을 통해 '.' 아니라면 '*' 로, 그 이외엔 주변 탐색을 진행했다. const inputs = require('fs').readFileSync('/dev/stdin') .toString().trim().split('\n'); con..
2023.11.21 -
[백준 알고리즘] 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