주니어 기초 코딩공부/JAVA_programmers_코딩테스트

숫자 찾기_programmers_lev00

jju_developer 2022. 12. 8. 02:42
728x90

<코딩 테스트>

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

 

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

 

<나의 풀이 과정>

우선, split 메서드를 활용해서 strArr에 담은 후 int형 배열에 담았습니다.

여기서 꼭 str 배열을 만들지 않았으면 더욱 간결하게 할 수 있었을것 같습니다.

인덱스는 0부터 시작하기 때문에 answer = i+1을 하였습니다.

 

 

<나의 풀이 코드>

class Solution {
    public int solution(int num, int k) {
		int answer = 0;
		
		String str ="";
		str= String.valueOf(num); 
		String[] strArr = str.split(""); 	
		int [] arr = new int [strArr.length];
		
		
		for (int i = 0; i < strArr.length; i++) {
			arr[i] = Integer.parseInt(strArr[i]);
				if(k-arr[i]==0) {
					answer = i+1;
					break;
				}else {
					answer =-1;
				}
		}
		return answer;
	}
}

<다른사람 풀이 1>

class Solution {
    public int solution(int num, int k) {
        String numStr = String.valueOf(num);
        String kStr = String.valueOf(k);

        int answer = numStr.indexOf(kStr);
        return answer < 0 ? -1 : answer + 1 ;
    }
}

<다른사람 풀이 2>

class Solution {
    public int solution(int num, int k) {
        return ("-" + num).indexOf(String.valueOf(k));
    }
}
728x90