Algorithm/Programmers

[프로그래머스] 숫자 찾기 - Java

뭐든 해보기 2023. 4. 21. 15:15

문제) 정수 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. 숫자가 없는 자리 수로 answer 값 초기화

2. 주어진 num을 String 배열로 변환

3. 반복문 돌면서 해당 숫자가 나오는 인덱스를 구하고, 처음 구하는 숫자만 return 되도록 break;

4. answer 리턴

class Solution {
    public int solution(int num, int k) {
        int answer = -1;
        String sNum[] = String.valueOf(num).split("");
		for(int i=0; i<sNum.length; i++) {
			if(sNum[i].equals(String.valueOf(k))) {
				answer = i+1; 
				break;  
			}
		}
        return answer;
    }
}

 

이직 준비하느라..또 꾸준히 공부를 못했다,,

언넝 적응해서 계속 알고리즘 공부를 해야겠다.

알고리즘 마스터가 되는 그날까지...아뵤