Algorithm/Baekjoon37 백준 2675번 백준 2675번을 풀어보았다.let [T, ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map((value) => value.trim())input = input.map((value) => value.split(" "))let output = ''for (let i = 0; i 정답을 출력해내기는 하지만 for 문을 3번이나 중첩하였다. 이때 repeat 메소드와 map 메소드를 사용하면 for 문 중첩 횟수를 줄일 수 있다. 참고) 백준 25314번 1. repeat 메소드let [T, ...input] = require('fs').readFileSync('example.txt').toString().split.. 2024. 11. 8. 백준 10809번 백준 10809번을 풀어보았다.let S = require('fs').readFileSync('/dev/stdin').toString()let output = ''for (let i = 'a'.charCodeAt(); i 위 풀이에서 사용된 charCodeAt(), fromCharCode(), indexOf() 메소드를 정리해보자. charCodeAt()문자열.charCodeAt(인덱스) charCodeAt() 메소드는 특정 문자열의 특정 인덱스에 해당하는 문자의 아스키 코드 값을 반환한다. 인덱스를 입력하지 않으면 0번 인덱스에 해당하는 문자의 아스키 코드 값을 반환한다.> console.log('a'.charCodeAt())97> console.log('ab'.charCodeAt())97> cons.. 2024. 11. 8. 백준 11720번 백준 11720번을 풀어보았다.let [N, input] = require('fs').readFileSync('/dev/stdin').toString().split('\n')N = Number(N)let sum = 0for (let i = 0; i JavaScript는 상당부분 문자열을 배열처럼 처리할 수 있다.* 배열의 특정 요소에 인덱스를 통해 접근하듯이, 문자열의 특정 문자에 인덱스를 통해 접근할 수 있고 이를 활용해 풀이하였다. * 참고) 반복문 ① 배열더보기위 풀이와 관련하여 하나만 덧붙이자면, 문자 자료형인 input[i]를 숫자 자료형으로 변환하는 방법으로는 다음의 두 가지가 있다.Number(input[i])+input[i]하지만 위 풀이와 달리, 아예 문자열을 배열로 변환하여 풀이할 수.. 2024. 11. 8. 백준 2743번, 9086번 숫자만 주구장창 다루다가 이제 문자열 챕터로 들어왔다. 그러다보니 아주 간단한 부분들에서 약간의 시행착오가 있었는데 이를 정리해보고자 한다. 백준 2743번let input = require('fs').readFileSync('/dev/stdin').toString().trim()console.log(input.length) 사실 vscode에서 테스트해볼 땐 trim 메소드를 사용하지 않고도 정답을 출력해냈다. 그런데 백준에는 trim 메소드를 사용해야만 정답으로 인정된다. 종종 백준에서 채점할 때 사용하는 입력이 예시 입력과 다른 경우가 있는 것 같다. 백준 9086번let [T, ...input] = require('fs').readFileSync('example.txt').toString().sp.. 2024. 10. 31. 백준 1546번 백준 1546번을 풀어보았다.let [N, scores] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map((i) => i.split(' ').map(Number))const max = Math.max(...scores)scores = scores.map((score) => score / max * 100)let sum = 0scores.forEach((score) => sum += score)console.log(sum / N) map 메소드를 사용해 scores 배열 내 점수들을 새로운 점수로 변경한 후 forEach 메소드를 사용해 scores 배열 내 점수들을 더해 sum을 구한 뒤 N으로 나눠 평균을 구하였다. 하지만 r.. 2024. 10. 31. 백준 10811번 백준 10811번을 풀어보았다.처음에는 못 풀었는데 찾아보니 reverse 메소드라는 것을 알게되어 reverse 메소드를 이용해 풀어보았다.let [[N, M], ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map((i) => i.split(' ').map(Number))let basket = []for (let i = 0; i reverse 메소드는 배열의 순서를 반전시켜주는 메소드이다. i번째 바구니부터 j번째 바구니까지의 순서를 반전시킨다고 할 때 i를 start로, j를 end로 정의하였고 start번째 바구니부터 end번째 바구니를 arr 배열에 저장한 후* arr 배열을 반전시켰다. 이후 basket.. 2024. 10. 31. 이전 1 2 3 4 5 6 7 다음