스터디/HackerRank 문제 풀이

[숫자 뒤집기] Beautiful Days at the Movies

재심 2025. 4. 13. 22:59

문제 링크: https://www.hackerrank.com/challenges/beautiful-days-at-the-movies/problem?isFullScreen=true

 

Beautiful Days at the Movies | HackerRank

Find the number of beautiful days.

www.hackerrank.com

 

분류: Problem Solving (Basic)

 

🎬 문제 요약

당신은 i일부터 j일까지 영화를 봐.
영화가 "아름다운 날(Beautiful Day)" 이 되려면 다음 조건을 만족해야 해:

(일자 - 그 일자의 숫자를 뒤집은 값)을 k로 나눈 결과가 정수여야 함 (즉, 나누어떨어져야 함)

💡 핵심 포인트

  1. 주어진 범위 [i, j]를 순회
  2. 숫자 뒤집기 함수 reverse(n) 작성
  3. (n - reverse(n)) % k == 0인지 체크
  4. 만족하는 날만 카운트

 

    public static int beautifulDays(int i, int j, int k) {
        int answer = 0;
        
        // check beautiful
        for(int current = i; current <= j; current++){
            if(isBeautiful(current, k)) answer++;
        }
        
        
        return answer;
    }
    
    private static boolean isBeautiful(int num,int k) {        
        Integer rev = reverseNumber(num);
        
        return Math.abs(num-rev) % k == 0;
    }
    
    // 숫자 뒤집기
    private static int reverseNumber(int n) {
        int rev = 0;
        while (n > 0) {
            rev = rev * 10 + n % 10;
            n /= 10;
        }
        return rev;
    }

'스터디 > HackerRank 문제 풀이' 카테고리의 다른 글

[홀짝] Utopian Tree  (0) 2025.04.13
[이진탐색 구현] Climbing the Leaderboard  (0) 2025.04.13