반응형
풀이 코드
using System;
public class Solution {
public int[] solution(string s) {
int zeroCount = 0;
int loopCount = 0;
while(s != "1")
{
string replaceStr = s.Replace("0", string.Empty);
int lengthDiff = s.Length - replaceStr.Length;
zeroCount += lengthDiff;
loopCount++;
s = Convert.ToString(replaceStr.Length, 2);
}
int[] answer = new int[] {loopCount, zeroCount};
return answer;
}
}
- string.Replace()를 사용해서 0값을 지워준다.
- 지운 문자열(replaceStr) 길이와 인수로 들어온 문자열(s)의 길이를 빼서 그 값을 전부 더해준다.
- 다음 루프에서 이 과정을 다시 처리하기 위해 s값을 replaceStr 문자열 길이를 2진수로 변환한 문자열로 변경해준다.
- 위 과정을 s가 "1"이 될때까지 반복 후, 결과를 출력한다.
기타
- Convert.ToString() : 첫번째 인수에 변환할 값을, 두번째 인수에 몇진수로 변환할건지 값을 입력하면 변환된 값을 문자열로 받을 수 있다.
반응형
'Stack > Coding test' 카테고리의 다른 글
[C# / Lv3] 이중우선순위큐 (0) | 2022.10.10 |
---|---|
[C# / Lv2] 올바른 괄호 (0) | 2022.10.07 |
[C# / Lv2] 최솟값 만들기 (0) | 2022.10.07 |
[C# / Lv2] JadenCase 문자열 만들기 (0) | 2022.10.07 |
[C# / Lv2] 최댓값과 최솟값 (0) | 2022.10.07 |