Dev.baelanche

[백준 11947] 이런 반전이 본문

Data Structure & Algorithm/PS - JAVA

[백준 11947] 이런 반전이

baelanche 2019. 7. 17. 21:22
반응형

 

10^2 마다 그 중간값이 사랑스러움 수치가 가장 크다는걸 눈치채야한다.

 

1~9 : 5

10~99 : 50

100~999 : 500

...

순이다. 4, 49, 499도 위 숫자의 사랑스러움 값과 동일하다.

 

n이 두자리수이고 50보다 작다면 n의 사랑스러움 수치가 최대값이다.

 

값이 int의 범위를 가뿐히 넘어가므로 적절한 자료형으로 풀어주자.

 

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int t = sc.nextInt();
        while(t-->0) {
            int k = sc.nextInt();
            
            for(long i=10; true; i*=10) {
                if(k < i) {
                    if(k < i/2) System.out.println(k * reverse(k));
                    else System.out.println(i/2 * reverse(i/2));
                    break;
                }
            }
        }
    }
    
    public static Long reverse(long k) {
        String num = String.valueOf(k);
        String temp = "";
        for(int i=0; i<num.length(); i++)
            temp += 9 - (num.charAt(i) - '0');
        
        return Long.parseLong(temp);
    }
}
반응형

'Data Structure & Algorithm > PS - JAVA' 카테고리의 다른 글

[백준 14584] 암호 해독  (0) 2019.07.17
[백준 14582] 오늘도 졌다  (0) 2019.07.17
[백준 11946] ACM-ICPC  (0) 2019.07.17
[백준 2420] 사파리 월드  (0) 2019.07.16
[백준 3009] 네 번째 점  (0) 2019.07.16
Comments