LeetCode) 67. Add Binary_1

·2021년 11월 9일
0

Leet_code(Easy)

목록 보기
16/20

이진수의 합을 구하는 문제.

Language: java

내가 처음 푼 코드

class Solution {
    public String addBinary(String a, String b) {
        int newA = 0, newB = 0;
        
        newA = transTen(a);
        newB = transTen(b);
        
        String newC = Integer.toBinaryString((newA+newB));
        
        return newC;
    }
    
    //2진수 -> 10진수
    public int transTen(String origin) {
        int originInt = Integer.parseInt(origin);
        int newNum = 0;
        int count = 0;
        
        for(int i = 0; i < origin.length(); i++) {
            newNum += squared(originInt % 10, count++);
            originInt /= 10;
        }
        
        return newNum;
    }
    
    
    //2를 제곱하는 함수
    public int squared(int target, int count) {
        for(int i = 0; i < count; i++) {
            target *= 2;
        }
        
        return target;
    }
}

10진수 → 2진수로 바꾸는 법을 도저히 몰라서 구글링 했더니,

Integer.toBinaryString(10진수 변수)

라는 아주 좋은 ... 메서드를 발견하고 말았다. => 10진수 → 2진수 문제 해결

어찌저찌 run은 되는데, 최종적으로 runTime 오류가 떴다.

int originInt = Integer.parseInt(origin);

여기서 변환되는 시간이 오래 걸렸기 때문인걸까... ㅠㅠㅠ

결국 2진수 → 10진수도 메서드를 써서 해결하는 수밖에 없을 듯 하다.

profile
HAPPY !

0개의 댓글