2020년 5월 26일 화요일

[Unity,c#] 숫자조합 만드는법

0
1
2
3

01
02
03
12
13
23

012
013
023
123

0123

  
string[] combination(string s)
{
char[] orderedArray = s.ToCharArray().Distinct().OrderBy(x => x).ToArray();
string prefix = "";
List<string> result = new List<string>();
for (int i = 0; i < orderedArray.Length; i++)
{
prefix = string.Empty;
for (int x = i; x < orderedArray.Length; x++)
{
if (x == i)
{
prefix = orderedArray[x].ToString();
}
else
prefix += orderedArray[x].ToString();
//중복되는것은 list에 add하지 않는다.
//ex) 0 01 02 03
// 01 012 013 //01 중복
// 012 0123 //012 중복
if(!result.Contains(prefix))
result.Add(prefix);
for (int j = x + 1; j < orderedArray.Length; j++)
{
result.Add(prefix + orderedArray[j].ToString());
}
}
}
return result.ToArray();
}

댓글 없음:

댓글 쓰기

git rejected error(feat. cherry-pick)

 문제 아무 생각 없이 pull을 받지않고 로컬에서 작업! 커밋, 푸시 진행을 해버렷다. push에선 remote와 다르니 당연히 pull을 진행해라고 하지만 로컬에서 작업한 내용을 백업하지 않고 진행하기에는 부담스럽다(로컬작업 유실 가능성) 해결하려...