Confusing Number

유승선 ·2024년 3월 10일
0

LeetCode

목록 보기
109/121

자바의 감을 잃고 싶지 않아서 코딩 테스트 문제를 너무 어려운 문제를 제외하고 자바로 풀이 해보려고 한다.

여기서 배운거는 hashMap을 initialzie 하는 방법과 StringBuilder 을 통해서 문자열을 만드는것을 빠르게 실습했다.

class Solution {
    public boolean confusingNumber(int n) {
        HashMap<Character, Character> hashMap = new HashMap<Character, Character>(){{
            put('0','0'); 
            put('1','1'); 
            put('6','9'); 
            put('8','8'); 
            put('9','6'); 
        }};
        StringBuilder sb = new StringBuilder(); 
        sb.append(n); 

        StringBuilder tmp = new StringBuilder(); 
        for(int k = sb.length()-1; k >= 0; k--){
            if(!hashMap.containsKey(sb.charAt(k))) return false; 
            Character newC = hashMap.get(sb.charAt(k)); 
            tmp.append(newC); 
        }

        int newN = Integer.valueOf(tmp.toString()); 
        return n != newN; 
    }
}
profile
성장하는 사람

0개의 댓글