본문 바로가기

프로그래머스 코딩(자바)/Level 0

Programmers Level 0 - 숫자 찾기

728x90

문제 설명

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


제한사항
  • 0 < num < 1,000,000
  • 0 ≤ k < 10
  • num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.

 

입출력 예
num k result    
29183 1 3
232443 4 4
123456 7 -1

입출력 예 설명

입출력 예 #1

  • 29183에서 1은 3번째에 있습니다.

입출력 예 #2

  • 232443에서 4는 4번째에 처음 등장합니다.

입출력 예 #3

  • 123456에 7은 없으므로 -1을 return 합니다.

 

1
2
3
4
5
6
class Solution {
    public int solution(int num, int k) {
        int answer = (num+"").indexOf(k+"");
        return answer==-1 ? answer : answer+1;
    }
}
 

 

 

  문자열로 변경한 후 indexOf()로 위치를 구한다.
  indexOf()는 찾지 못하면 -1을 리턴한다.
  리턴값이 1, 2, 3 인데 indexOf()는 0, 1, 2이므로 더하기 1을 해야 한다. 

 

1
2
3
4
5
class Solution {
    public int solution(int num, int k) {
        return (" "+num).indexOf(k+"");
    }
}
 

 

 문자열 앞에 의미 없는 문자 1개를 추가하면 찾는 index 값이 1,2,3,4가 된다.

 

728x90