Algorithm53 백준 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. 백준 8393번 백준 8393번을 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString().split(' ')input = Number(input)let sum = 0for (let i = 1; i 반복문을 사용하는 아주 간단한 문제였다. 이 문제가 반복문으로 분류되어 있는 걸 보면 이 풀이가 더 의도에 부합하는 풀이 같지만 수학적 지식을 사용하면 아래와 같은 풀이도 가능하다.let input = require('fs').readFileSync('/dev/stdin').toString().split(' ')input = Number(input)console.log(input*(input+1)/2) 1부터 n까지의 합은 n*(n+1)/2와 같다는 사실을.. 2024. 10. 4. 백준 10950번 백준 10950번을 풀어보았다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')const T = Number(input[0])let A, Bfor (let i = 1; i 다른 풀이들을 참고해보니 내 풀이와 비슷한 풀이들이 많았는데, 그 중에서도 유용하지만 내가 곧잘 떠올리지는 못하는 다중 할당과 map 메소드를 사용한 풀이가 있었다.let input = require('fs').readFileSync('/dev/stdin').toString().split('\n')const T = Number(input[0])for (let i = 1; i input의 요소의 자료형이 문자열이기 때문에 input[i].split(.. 2024. 10. 4. 이전 1 ··· 4 5 6 7 8 9 다음