본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 61 - k의 개수)

728x90

 

# 문제

1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.



# 답안

// 1. 입력: i,j,k -> 정수 1,2,3 같은거, k는 0~9
// 2. 출력: i부터 j까지 k가 몇 번 등장하는지

// 반복문을 돌린다. let num = i, num <= j, num++
// num을 문자열로 바꾸고 str에 할당한다.
// 문자열을 split로 배열로 쪼갠다음 반복문을 돌린다.
// ex. "13"이면 ["1","3"] 한다음 let e=0, e<str.length, e++
// 문자열에 String(k)가 포함되면 count++

function solution(i, j, k) {
  let count = 0;
  for (let num = i; num <= j; num++) {
    let str = String(num);
    for (let e = 0; e < str.length; e++) {
      if (str[e].split("").includes(String(k))) {
        count++;
      }
    }
  }
  return count;
}
728x90