본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 숫자 찾기

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