
* 풀이
class Solution {
public int solution(int num, int k) {
String str = String.valueOf(num);
String k2 = String.valueOf(k);
if (str.contains(k2)) {
return str.indexOf(k2) + 1;
}
return -1;
}
}
정수 상태로는 자릿수를 쉽게 비교하거나 순회할 수 없기 때문에 num을 문자열로 변환하여 str 변수에 저장.
비교 대상인 k 역시 문자열로 변환하여 k2 변수에 저장.
if 문에서 contains() 메서드를 사용해 num 안에 k가 포함되어 있는지 확인.
만약 k가 포함되어 있다면, str.indexOf(k2)를 통해 해당 숫자가 문자열 안에서 몇 번째 위치에 있는지를 알아낸다.
근데 indexOf()는 0부터 시작하기 때문에 결과에 +1을 더함.
num 안에 k가 포함되어 있지 않다면 -1을 반환.
* 다른 풀이
class Solution {
public int solution(int num, int k) {
int answer = -1;
String s = String.valueOf(num);
for (int i=0; i<s.length(); i++) {
int intNum = s.charAt(i) - '0';
// System.out.println(s.charAt(i));
if (intNum == k) {
return i+1;
}
}
return answer;
}
}
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 ;
}
}
class Solution {
public int solution(int num, int k) {
int answer = -1;
String str = String.valueOf(num);
for(int i =0; i<str.length(); i++){
if(str.charAt(i) == k + '0'){
answer = i+1;
break;
}
}
return answer;
}
}
'코테 > 프로그래머스 JAVA Lv.0' 카테고리의 다른 글
| [프로그래머스/java/Lv.0] 접미사 배열 (0) | 2025.06.01 |
|---|---|
| [프로그래머스/java/Lv.0] 369게임 (0) | 2025.05.27 |
| [프로그래머스/java/Lv.0] 조건 문자열 (0) | 2025.05.20 |
| [프로그래머스/java] 문자열 섞기 (0) | 2025.05.19 |
| [프로그래머스/java] 문자열 겹쳐쓰기 (0) | 2025.05.18 |