paraworld   3년 전

Dictionary 쓰니까 틀렸습니다 떠서 황당하네요. 간단한 반례들은 전부 맞았고, 어디 큰 범위에서 문제가 있는 듯 한데

100만개짜리 데이터를 직접 만들어 넣기가 힘들어서 제 능력으로는 못찾겠습니다. (인터넷에 올라온 C# 정답코드가 없어서 정답을 알 수가 없네요)

Dictionary 내부에서 대체 무슨 일이 일어나는 걸까요..

== 풀었습니다. ==

https://stackoverflow.com/questions/4914010/c-sharp-case-sensitive-ascii-sort

찾아보니 c# 정렬이 아스키 코드 순이 아니라 사전순이라 대문자 우선하네요. 

아스키 코드순으로 정렬하게 하면 되네요.

exponential_e   3년 전

아래 데이터에서 반례가 발생합니다.

paraworld   3년 전

어지간한거 다 해봤다 생각했는데 이런걸 놓쳤네요. 감사합니다.

exponential_e   3년 전

그럼 첫 글자를 A로 고정해놓고 뽑을때 맨앞에것만 빼고 뽑으시면 될 것 같네요

paraworld   3년 전

c#이 정렬 순서가 좀 다른 것 같네요. 

exponential_e   3년 전

아 어떤 말씀인지 이제 이해했네요 그러면 입력된 문자의 대소문자를 역변환해서 역순 정렬하고 다시 역변환 하면 어떨까요?

paraworld   3년 전

https://stackoverflow.com/questions/4914010/c-sharp-case-sensitive-ascii-sort

구글링하다 답이 나왔네요. 아스키 코드순으로 정렬하게 만들어서 풀었습니다.

댓글을 작성하려면 로그인해야 합니다.