프로그래머스 lv2 이진 변환 반복하기

namkun·2022년 12월 22일
0

코딩테스트

목록 보기
51/79

문제 링크

이진 변환 반복하기

풀이

  • 0을 제거한 횟수, 그리고 이진 변환을 몇 번 하였는지도 같이 세줘야했다.
  • 이진 변환을 어떻게 해야할까 하다가...간단한 방법을 찾았다.
  • Integer.toBinaryString(integer) 을 사용하면 integer에 해당되는 10진수를 2진수로 바꿔준다.
  • 그러면 이제 아주 쉽게 확인할 수 있다.
import java.util.Arrays;

public class 이진변환반복하기 {
	public int[] solution(String s) {
        int[] answer = new int[2];
        int length;
        int cnt = 0;
        int deleteZeroCnt = 0;

        while (s.length() != 1) {
            int originLength = s.length();
            s = s.replaceAll("0", "");
            length = s.length();
            deleteZeroCnt += originLength - length;
            s = Integer.toBinaryString(length);
            cnt++;
        }

        answer[0] = cnt;
        answer[1] = deleteZeroCnt;
        return answer;
    }
}

후기

  • Integer.toBinaryString... 몰랐는데 좋은걸 알았다.
profile
개발하는 중국학과 사람

0개의 댓글