728x90
코드힌트
- 문자열 변환: num을 문자열로 변환하면 각 자리 숫자를 쉽게 비교할 수 있습니다.
- 문자에서 숫자 변환: strNum.charAt(i) - '0'는 문자 '0'을 기준으로 현재 문자를 숫자로 변환하는 일반적인 방법입니다.
- 1-based 인덱스: 문제에서 요구하는 1-based 인덱스(1부터 시작하는 인덱스)를 반환하기 위해, 찾은 인덱스에 1을 더해줍니다.
- 빠른 반환: k를 찾으면 바로 결과를 반환하여 불필요한 반복을 방지합니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(int num, int k) {
int result = -1; // 결과를 저장할 변수, 초기값은 -1
String strNum = String.valueOf(num); // num을 문자열로 변환
// 문자열의 각 문자에 대해 반복
for (int i = 0; i < strNum.length(); i++) {
// 현재 문자를 정수로 변환하여 k와 비교
if (strNum.charAt(i) - '0' == k) {
result = i + 1; // 인덱스는 0부터 시작하므로 1을 더해줌
return result; // k를 찾으면 결과 반환
}
}
return result; // k를 찾지 못한 경우 -1 반환
}
}
메소드로 풀기(indexOf() 같은 메소드는 기초 쌓고 쓰시는 것을 추천합니다)
class Solution {
public int solution(int num, int k) {
String strNum = ""+num;
String strK = ""+k;
int result = strNum.indexOf(strK);
return result == -1 ? result : result + 1;
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 간단한 식 계산하기 (0) | 2024.07.26 |
---|---|
[프로그래머스] 문자열 정렬하기 (2) (0) | 2024.07.26 |
[프로그래머스] 문자열 여러 번 뒤집기 (0) | 2024.07.23 |
[프로그래머스] 연속된 수의 합 (0) | 2024.07.22 |
[프로그래머스] 겹치는 선분의 길이 (0) | 2024.07.19 |