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
'주니어 기초 코딩공부 > JAVA_programmers_코딩테스트' 카테고리의 다른 글
문자열 정렬하기 (2)_programmers_lev00 (2) | 2022.12.08 |
---|---|
인덱스 바꾸기_programmers_lev00 (0) | 2022.12.08 |
최댓값 만들기 (2)_programmers_lev00 (0) | 2022.12.07 |
피자 나눠 먹기(2)_programmers_lev00 (0) | 2022.12.07 |
외계행성의 나이_programmers_lev00 (0) | 2022.12.07 |