티스토리 뷰

코딩테스트 연습 > 코딩테스트 입문 > 숫자 찾기

 

🎈 문제

  • 0 < num < 1,000,000
  • 0 ≤ k < 10

 위의 조건을 만족하는 num과 k를 넘겨받아 num의 자릿수 중에 k가 있는지 확인하고, 없다면 -1을 출력하고, 있다면 앞에서부터 있는 순서를 출력하는 문제다.

 

 

✨ 풀이

function solution(num, k) {
    let answer = num.toString().indexOf(k.toString());
    answer = answer<0? answer: answer+1;
    return answer;
}

문자열로 풀기 편할 것 같아 우선 넘겨받은 num, k는 정수형태를 toString()으로 문자열로 바꾸어준다. 

문자열 메서드 중에 indexOf()는 문자열 내에서 문자를 찾았을 때, 문자가 있는 첫번째 인덱스를 반환하고 존재하지 않는다면 -1을 리턴한다. 문자에서 원하는 로직과 비슷해서 사용하기로 하되, indexOf()가 반환하는 인덱스는 0부터 시작한다는 점에 유의한다. 우리가 얻고자 하는 인덱스는 1부터 시작하므로 문자가 문자열 내에 존재한다면 indexOf()가 반환하는 인덱스에 1을 더한 값을 답안으로 제출한다. 

[ 주요 문자열 메서드 참고 ]

Comments