본문 바로가기

공부/TIL

[TIL] 24.06.03 백준 10820번 JS

반응형

내가 푼 문제 📖

 

내가 작성한 코드 💻

let input = require("fs")
  .readFileSync(process.platform === "linux" ? "/dev/stdin" : __dirname+"/input.txt")
  .toString()
  .split('\n')

let results = '';

for(let i=0; i<input.length; i++){
  const res = [0, 0, 0, 0]
  const str = input[i].split('')
  
  if(input[i] === '') continue;

  for(let j=0; j<str.length; j++){
    if(/[a-z]/.test(str[j])) res[0]++
    else if(/[A-Z]/.test(str[j])) res[1]++
    else if(/[0-9]/.test(str[j])) res[2]++
    else if(str[j] === ' ') res[3]++
  }
  results += `${res.join(' ')}\n`
}

console.log(results)

 

 

어려웠던 점

 

예제는 문제없이 결과가 나왔지만 정답만 제출하면 이상하게 계속 틀리는 문제가 발생했다.

어디서 틀린 건지 감이 전혀 오질 않아서 결국 검색을 통해 정답을 찾아봐야 했다.

 

정답 실패 이유!?

 

찾아본 결과 이 한줄이 문제였던 것이었다!!

if(input[i] === '') continue;

 

 

빈 공백을 확인하지 않고 넘어간 것이 문제였던 것이다!

 

깨달은 점

 

테스트 예제 중요성!

 

주어진 예제만으로 테스트를 진행했었는데

필요에 따라서 내가 예제를 만들어서 테스트 하는 연습을

해야겠다는 생각이 너무너무 들었다!!

 

회고 🧐

 

아무리 쉬운 문제라고 해도 방심하지 말자!

 


https://www.acmicpc.net/problem/10820

반응형

'공부 > TIL' 카테고리의 다른 글

[TIL] 24.07.15  (0) 2024.07.15
[TIL] 24.07.09 백준 10844번 js  (0) 2024.07.09
[TIL] 24.07.08  (0) 2024.07.08
[TIL] 24.06.17 백준 1373번 js  (0) 2024.06.17
[TIL] 24.06.12 백준 1676번 js  (2) 2024.06.12
[TIL] 24.06.11 백준 6588번 js  (0) 2024.06.11
[TIL] 24.06.10 React 트랙을 신청한 이유  (0) 2024.06.10
[TIL] 24.05.28 백준 1935번 JS  (0) 2024.05.28