1. 문제
문제 설명
정수 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 |
2. 풀이과정
[첫 번째 방법]
class Solution {
public int solution(int num, int k) {
int answer = 0;
String[] s = String.valueOf(num).split("");
for(int i=0; i<s.length; i++) {
if(s[i].equals(String.valueOf(k))) {
answer = i + 1;
break;
} else answer = -1;
}
return answer;
}
}
[두 번째 방법]
- "-"를 사용한 이유는 인덱스 0부터가 아닌 1부터 카운트하기 위해
class Solution {
public int solution(int num, int k) {
return ("-" + num).indexOf(String.valueOf(k));
}
}
'Coding Test > 프로그래머스[JAVA]' 카테고리의 다른 글
[프로그래머스 Lv0.] 120846번 합성수 찾기 (JAVA) (0) | 2023.07.21 |
---|---|
[프로그래머스 Lv0.] 120911번 문자열 정렬하기 (2) (JAVA) (0) | 2023.07.21 |
[프로그래머스 Lv0.] 120897번 약수 구하기 (JAVA) (0) | 2023.07.21 |
[프로그래머스 Lv0.] 120891번 369게임 (JAVA) (0) | 2023.07.21 |
[프로그래머스 Lv0.] 120895번 인덱스 바꾸기 (JAVA) (0) | 2023.07.21 |