본문 바로가기
Algorithm/Baekjoon

백준 2720번

by minhi 2025. 1. 10.

백준 2720번을 풀어보았다.

 

간단한 문제이고, 처음 작성한 풀이는 다음과 같다.

let [T, ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number)

coin = [25, 10, 5, 1]

let output = ''

for (let i = 0; i < input.length; i++) {
  for (const c of coin) {
    output += Math.floor(input[i]/c) + ' '
    input[i] %= c
  }
  
  output = output.trim()
  output += '\n'
}

console.log(output.trim())

 

로컬에서 테스트할 때는 정답을 잘 출력하였는데 백준에 제출하니 틀렸다고 나왔다.

 

질문게시판 글을 참고하여 수정하였다.

let [T, ...input] = require('fs').readFileSync('/dev/stdin').toString().split('\n').map(Number)

coin = [25, 10, 5, 1]

let output = ''

for (let i = 0; i < T; i++) {
  for (const c of coin) {
    output += Math.floor(input[i]/c) + ' '
    input[i] %= c
  }
  
  output = output.trim()
  output += '\n'
}

console.log(output.trim())

 

아마 백준의 입력은 \n로 끝나지 않았고,

 

때문에 반복의 종료를 i < input.length로 설정하니 테스트 케이스가 아닌 것까지 반복문을 실행했던 듯 하다.

 

반복의 종료를 i < T로 수정하니 테스트 케이스까지만 반복문을 실행하여 통과할 수 있었다.

 

로컬에서 테스트 할 때는 정답을 잘 출력하였는데 백준에 제출하니 틀렸다고 나올 때 종종 이런 경우가 있는 것 같다.

 

참고) 백준 10951번

'Algorithm > Baekjoon' 카테고리의 다른 글

백준 1193번  (0) 2025.01.10
백준 2292번  (0) 2025.01.10
백준 2903번  (1) 2025.01.09
진법 관련 유형  (0) 2025.01.09
백준 11005번  (0) 2025.01.09