728x90
https://school.programmers.co.kr/learn/courses/30/lessons/12911
소스코드1(시간복잡도 오류)
using System;
using System.Linq;
class Solution
{
public int solution(int n)
{
int nBinary = Convert.ToString(n, 2).Where(s=>s == '1').Count();
while (true)
{
int nextBinary = Convert.ToString(++n, 2).Where(s => s == '1').Count();
if (nBinary == nextBinary)
return n;
}
}
}
}
소스코드2
using System;
class Solution
{
public int solution(int n)
{
string nBinary = Convert.ToString(n, 2);
int nBinaryCount = 0;
for (int i = 0; i < nBinary.Length; i++)
if (nBinary[i] == '1')
nBinaryCount++;
while (true)
{
string nextBinary = Convert.ToString(++n, 2);
int nextBinaryCount = 0;
for (int i = 0; i < nextBinary.Length; i++)
if (nextBinary[i] == '1')
nextBinaryCount++;
if (nBinaryCount == nextBinaryCount)
return n;
}
}
}
728x90
'코딩공부 > 프로그래머스' 카테고리의 다른 글
[프로그래머스]Lv.2 피보나치 수 C#(재귀) (0) | 2023.08.04 |
---|---|
[프로그래머스]Lv.2 최댓값과 최솟값 C#(문자배열 to 정수배열 변환 링큐) (0) | 2023.08.02 |
[프로그래머스]Lv.2 최솟값 만들기 C# (0) | 2023.08.02 |
[프로그래머스]Lv.2 올바른 괄호 C# (0) | 2023.08.02 |
[프로그래머스]Lv.2 게임 맵 최단거리 C#(BFS) (0) | 2023.08.02 |