프로그래머스(Java) - 이진 변환 반복하기
7315 단어 Java월간 코드 챌린지 시즌1프로그래머스Java
문제 링크
문제 풀이
문자열을 이진 변환 하는 더 깔끔한 코드를 생각한다면 무난한 문제였다.
코드
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[2];
while(s.length()>1){
//0을 제거하여 새로운 문자열 만듬
int ori = s.length();
s = s.replace("0","");
answer[1] += ori-s.length();
//문자열의 길이
int len = s.length();
//문자열을 이진 변환함
List<String> arr = new ArrayList();
while(len>=1){
if(len%2==1){
arr.add("1");
len /=2;
}else{
arr.add("0");
len /=2;
}
}
String temp="";
for(int i=arr.size()-1; i>=0; i--){
temp+= arr.get(i);
}
s = temp;
answer[0]++;
}
return answer;
}
}
Author And Source
이 문제에 관하여(프로그래머스(Java) - 이진 변환 반복하기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@courage331/프로그래머스Java-이진-변환-반복하기저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)