문제
문제 답안
class Solution {
public int[] solution(String s) {
int[] answer = new int[2];
int zerocnt = 0;
int transfercnt = 0;
boolean run = true;
while(run){
for(int i = 0; i < s.length(); i++){
if(s.charAt(i) == '0')
zerocnt++;
}
s = s.replace("0", "");
int l = s.length();
s = Integer.toBinaryString(l);
transfercnt++;
if(s.equals("1"))
run = false;
}
answer[0] = transfercnt;
answer[1] = zerocnt;
return answer;
}
}
답안 풀이
[새로 알게 된 개념]
그래서 마지막에 while문을 빠져나오게 하기 위해 쓴 조건문에 s == "1"라고 쓰니까 무한루프를 돌더라(문법적 오류가 안뜨고 무한루프가 돌아서 뭐가 잘못 됐는지 모르다가 스터디방에 물어봐서 알게 되었다.)
"안녕하세요, 99클럽 그룹 리더 임강민입니다!
새로 알게 된 개념과 함수들을 주의할 점과 더불어 정리하신게 인상 깊어요!
앞으로도 힘내서 매일 TIL 도전해 보세요! 화이팅입니다 :)
99클럽 https://bit.ly/3TN5TBL"