Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 프로그래머스 코딩테스트 입문 : 숫자 찾기 본문

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 입문 : 숫자 찾기

썸머몽 2023. 3. 27. 00:56
728x90

문제 및 제한사항

 

정수 num k 매개변수로 주어질 , num 이루는 숫자 중에 k 있으면 num 숫자가 있는 자리 수를 return하고 없으면 -1 return 하도록 solution 함수를 완성해보세요.

 

**제한사항**

0 < num < 1,000,000

0 ≤ k < 10

num k 여러 있으면 가장 처음 나타나는 자리를 return 합니다.

 

풀이 방법

 

풀이 방법은 2가지다.

 

1) if문

num을 string으로 바꿔준 뒤, k가 있을 인덱스를 indexOf로 찾아낸다.

문제는 인덱스는 0번부터 시작하지만 실제 문자열 num은 1번부터 시작하므로 인덱스에 +1을 해주어야 한다.

그런데 이렇게 하면 해당 인덱스가 없을 때 -1이 나오는 경우는 0이 된다.

따라서 조건문으로 -1이라면 그대로 리턴될 수 있게 추가해주어야 한다.

 

2) includes

사실 1번이랑 큰 차이는 없다.

똑같이 문자열로 바꿔준 후, includes로 k가 있는지 없는지 찾아낸 다음 indexOf(k)에 +1을 해주었다.

그렇지 않을 경우에 -1로 그대로 리턴되게 해준다.

 

코드

function solution(num, k) {
    let str = num.toString();
    let ind = str.indexOf(k)
    if (ind === -1) {
        return ind
    } else {
        return ind+1
    }
}
function solution(num, k) {
    let str = num.toString();
    if (str.includes(k)) {
        return str.indexOf(k) + 1
    } else {
        return -1
    }
}
728x90