본문 바로가기

분류 전체보기72

백준 10818번 백준 10818번을 토대로 주어진 숫자들의 최대, 최소를 구하는 방법을 정리해보려고 한다. 1. min을 주어진 범위의 최댓값으로, max를 주어진 범위의 최솟값으로 설정let [N, numbers] = require('fs').readFileSync('/dev/stdin').toString().split('\n')numbers = numbers.split(' ').map(Number)let max = -1000000let min = 1000000for (const number of numbers) { if (max  주어진 조건에 따르면 각 정수는 -1,000,000 이상, 1,000,000 이하이므로 min을 1,000,000으로, max를 -1,000,000으로 초기화하였다. 2. Math 객체의.. 2024. 10. 10.
백준 10951번 백준 10951번을 풀어보았다. A+B 유형에 EOF라는 조건이 붙어 기존 문제들과 많이 다를 줄 알았는데 크게 다를 건 없었다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')let output = ''for (let i = 0; i  당연히 맞을 거라 생각하고 위 코드를 제출했는데 틀렸다고 나왔다. 아무리 고민해도 어디가 잘못된 건지 모르겠어서 관련하여 찾아보던 중 백준 질문글을 보게되었다. 나와 같은 문제를 겪고 있는 사람이 있었고, 다행히 내 코드의 문제라기보다 백준 테스트 케이스의 문제인 것 같았다. 테스트 케이스 중 마지막 부분에 \n이 하나 더 추가된 테스트 케이스가 있었나보다. 테스트 케이스의 마지막 \n.. 2024. 10. 9.
백준 10871번 백준 10871번을 반복문을 사용하여 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')const N = Number(input[0].split(' ')[0])const X = Number(input[0].split(' ')[1])let output = ''for (let i = 0; i  정답은 올바르게 출력해내지만 시간 초과가 떴다. 그래서 메소드를 사용하여 풀어봤고, 다행히 통과했다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')input[1].split(' ') .filter((value) => value outp.. 2024. 10. 9.
백준 10952번 백준 10952번을 풀어보았다. 이러한 형태의 조건의 경우 for문보다는 while문을 쓰는 것이 더 적절하지만 while문 풀이가 바로 생각나지 않아 먼저 for문을 사용해 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')let output = ''for (let i = 0; i  그러나 이 풀이는 다음의 미흡한 부분이 있다.반복 종료가 0 0 입력으로 이루어진다는 조건을 사용하지 않고 반복 종료의 조건을 i === input.length로 설정한 것a === 0 && b === 0으로 조건을 활용하는 듯 보이나, 사실 이는 i 즉, for문으로는 input의 길이를 반복 종료의 조건으로 설정하는 것이 더 .. 2024. 10. 7.
테스트 케이스의 개수를 입력받는 유형 반복문 유형에서는 반복 횟수와 관련이 있는 테스트 케이스의 개수를 입력받는 유형이 꽤 있었다. 기존 유형에서는 아래와 같이 예제 입력을 받아let input = require('fs').readFileSync('/dev/stdin').toString().split('\n') 첫번째 예제 입력은 input[0], 두번째 예제 입력은 input[1], ...과 같이 처리하였으나 테스트 케이스의 개수를 입력받는 유형에서는 input[0]이 테스트 케이스가 되므로 예제 입력을 처리하는 방법도 달라진다. 원래는 예제 입력을 input[1], input[2], ...부터 처리하는 방식으로 풀이하였다. 백준 10950번let input = require('fs').readFileSync('/dev/stdin').to.. 2024. 10. 6.
백준 25314번 백준 25314번을 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString()N = Number(input)let output = ''for (let i = 0; i  반복문을 사용하는 아주 간단한 문제였다. 이 문제가 반복문으로 분류되어 있는 걸 보면 이 풀이가 더 의도에 부합하는 풀이 같지만 repeat 메소드를 사용하면 아래와 같은 풀이도 가능하다.let input = require('fs').readFileSync('/dev/stdin').toString()N = Number(input)console.log(`${'long '.repeat(N/4)}int`) repeat 메소드는 다음과 같은 형태로 사용하며 문자열을 반복 횟수만큼 .. 2024. 10. 5.