백준 단계별 문제 4, 5단계

오늘은 4, 5단계 문제를 풀었다!! 5단계의 1번문항은 자바스크립트로 풀 수 없는 언어제한 문제여서 자바 해답을 보고 이해만 하고 넘어갔다!

1065번 문제

이 문제를 풀 때 시간이 상당히 오래 걸렸다....

function hansu(n) {
  let arr = [];
  for (let i = 1; i <= n; i++) {
    if (i < 100) {
      arr.push(i);
      continue;
    }
    let str = i + "";
    let dis1 = parseInt(str[0]) - parseInt(str[1]);
    let dis2 = parseInt(str[1]) - parseInt(str[2]);

    if (dis1 == dis2) arr.push(i);
  }
  return arr.length;
}

처음 문제를 풀 때 입력값을 생각하지 못해서 자릿수가 증가하며 차를 구하는 부분에서 막혔고, 여러 방법들을 고민하며 머리를 굴렸는데.... 1000 이하의 수가 들어오는 조건이 있어서 한수가 아닌 1000을 제외한 999까지의 경우만 해결하면 되는거였다...!!

let dis1 = parseInt(str[0]) - parseInt(str[1]);
let dis2 = parseInt(str[1]) - parseInt(str[2]);

이렇게 100의 자릿수 - 10의 자릿수 차이와 10의 자릿수 1의 자릿수 차를 구해 조건문으로 해결 할 수 있었다!!

저번에도 느낀 것 처럼 좀 더 문제를 꼼꼼하게 보고 놓치는 부분 없이, 너무 어렵게만 생각하지 말고 차근차근 풀어야겠다고 반성.... 아직 갈 길이 멀지만 조금씩 늘고 있다고 생각하고 꾸준히 화이팅!!!!

좋은 웹페이지 즐겨찾기