티스토리 뷰
- 문제 설명
정수 num과 k가 매개변수로 주어질 때, num을 이루는 숫자 중에 k가 있으면
num의 그 숫자가 있는 자리 수를 return하고 없으면 -1을 return 하도록 solution 함수를 완성해보세요
- 제한 사항
0 < num < 1,000,000
0 ≤ k < 10
num에 k가 여러 개 있으면 가장 처음 나타나는 자리를 return 합니다.
- 입출력 예
- 입출력 예 설명
입출력 예 #1
29183에서 1은 3번째에 있습니다.
입출력 예 #2
232443에서 4는 4번째에 처음 등장합니다.
입출력 예 #3
123456에 7은 없으므로 -1을 return 합니다.
🤔 String 클래스의 indexOf() 활용
class Solution {
public int solution(int num, int k) {
String numStr = Integer.toString(num);
String checkNum = Integer.toString(k);
int index = numStr.indexOf(checkNum);
// indexOf()는 0-Based
return index == -1 ? -1 : index + 1;
}
}
- str.indexOf("문자열")은 문자열 str 내에서 "문자열"이 처음 등장하는 0-based 인덱스를 반환
↔ 만약 "문자열"이 str에 존재하지 않으면, -1을 반환 - indexOf() 는 문자열을 검색할 때 문자열 내에 해당 문자나 문자열이 있는지
빠르게 확인하기 위해 -1을 사용하여 "찾을 수 없음"을 나타낸다.
반환값으로 -1을 사용하면 조건문에서 쉽게 결과를 처리할 수 있다.
🤔 indexOf()
String text = "hello world";
// 'o'의 첫 번째 발생 위치는 4번 인덱스
System.out.println(text.indexOf('o')); // 출력: 4
// 'world'의 시작 인덱스는 6
System.out.println(text.indexOf("world")); // 출력: 6
// 문자열에 없는 'z'를 찾으면 -1 반환
System.out.println(text.indexOf('z')); // 출력: -1
'알고리즘 공부⛏️' 카테고리의 다른 글
💡(Java)문자열 뒤집기 (0) | 2024.11.19 |
---|---|
💡(Java)문자열 정렬하기 1 (2) | 2024.11.13 |
💡(Java)배열 자르기 (0) | 2024.11.12 |
💡(Java)문자 반복 출력하기 (0) | 2024.11.12 |
💡(Java)주사위의 개수 (0) | 2024.11.11 |
댓글