728x90
반응형
테스트 케이스 추가
numbers(long[]) | Return |
[1001, 337, 0, 1, 333, 673, 343, 221, 898, 997, 121, 1015, 665, 779, 891, 421, 222, 256, 512, 128, 100] | [1002, 338, 1, 2, 334, 674, 347, 222, 899, 998, 122, 1019, 666, 781, 893, 422, 223, 257, 513, 129, 101] |
2개 이하로 다른 비트 문제
내 코드
using System;
using System.Linq;
using System.Collections.Generic;
//+6
public class Solution {
public long[] solution(long[] numbers) {
long[] answer = new long[numbers.Length];
for (int i = 0; i < numbers.Length; i++)
{
string numStr = Convert.ToString(numbers[i], 2);
int startIndex = numStr.IndexOf("1");
int zeroPoint = numStr.LastIndexOf("0");
if (zeroPoint == -1)
{
string sub = numStr.Substring(startIndex+1);
numStr = "10" + sub;
}
else
{
char[] chArr = numStr.ToCharArray();
chArr[zeroPoint] = '1';
if(zeroPoint +1 < numStr.Length)
chArr[zeroPoint+1] = '0';
numStr = new string(chArr);
}
answer[i] = Convert.ToInt64(numStr, 2);
}
return answer;
}
}
728x90
반응형
'코딩테스트_c# > 프로그래머스' 카테고리의 다른 글
프로그래머스 ) 코딩테스트 연습 - 호텔 대실 Level.2_C# (0) | 2024.07.26 |
---|---|
프로그래머스 ) 코딩테스트 연습 - 신고결과 받기 Level.1_C# (0) | 2024.07.19 |
프로그래머스 ) 연습 문제 - 할인행사 Level.2_C# (0) | 2024.03.08 |
프로그래머스 ) Summer/Winter Coding(~2018) - 예산 Level.1_C# (0) | 2024.03.05 |
프로그래머스 ) Summer/Winter Coding(~2018) - 영어 끝말잇기 Level.2_C# +테스트 케이스 추가 (0) | 2024.03.04 |