문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면 num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요.
입출력 예
나의 풀이
class Solution {
public int solution(int num, int k) {
int answer = 0;
String str = String.valueOf(num);
char[] arr = str.toCharArray();
for(char i : arr){
if(Character.getNumericValue(i) == k){
answer = str.indexOf(i) + 1;
break;
} else {
answer = -1;
}
}
return answer;
}
}
참고 풀이 1 (문자열 + 숫자 = 문자열 / 앞의 "-"는 인덱스를 1부터 세도록 함)
class Solution {
public int solution(int num, int k) {
return ("-" + num).indexOf(String.valueOf(k));
}
}
참고 풀이 2 (문자열로 변환)
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 ;
}
}
나의 풀이
function solution(num, k) {
let answer = 0;
answer = ("+" + num).indexOf(k);
return answer;
}
참고 풀이 (||연산자)
function solution(num, k) {
return num.toString().indexOf(k) + 1 || -1
}