Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.2_Java] 이진 변환 반복하기 본문

알고리즘테스트/Programmers

[Lv.2_Java] 이진 변환 반복하기

코딩거인 2023. 6. 1. 16:29
728x90

class Solution {
    public int[] solution(String s) {
        int[] answer = new int[2];
        while(s.length() > 1) {
            int num = 0;
            for(int i=0; i<s.length(); i++) {
                if(s.charAt(i) == '0') answer[1]++;
                else num++;
            }
            s = Integer.toBinaryString(num);
            answer[0]++;
        }
        return answer;
    }
}

이번 문제.... 아까 풀어본 Lv.1 것을 응용해서 풀 수 있었다!

while 문을 사용해서 길이가 1보다 클때 까지 반복해주며, 그 안에 for 문을 사용해서 0의 갯수를 카운트 해주고 answer[1] 값을 추가해주고

없을땐 num값을 플러스 해주고 그 num 값을 이진수로 바꿔주는 Integer.toBinaryString(num); 기능을 사용해서 

s값을 대입해주고 answer[0] 에 값을 넣어주고 다시 while 반복문을 돌리는 형식으로 풀어서 해결했다!

 

728x90