liasder   2년 전

이런 유형의 문제를 처음 접하시게 되면 당황하시기 마련인데요, 저 같은 경우는 어디부터 시작해야 할 지 잘 모르겠어서 헤맸습니다.

문제를 잘 읽어 보시면 입력이 UTF-8임을 알 수 있습니다. 우리는 지금까지 char로 변환해서 ASCII 코드와 대조시켜서 풀어왔지만, 완성형 한글은 ASCII 코드 범위 내에 들어가지 않으므로, 새로운 코드 체계를 사용해야 하며, 그것이 UTF-8입니다.

C#에서 어떻게 UTF-8을 쓰는 지에 대해서 알아봐야 할 몇 가지 힌트를 적자면,

1. System.Text.Encoding 클래스의 UTF8 프로퍼티 사용법

2. 데이터를 char[] 로 받은 뒤, byte[]로 변환하기

3. byte[]를 Encoding.UTF8.GetString(byte[] byteArray)로 string 타입으로 변환 가능

이 3단계를 어떻게 하면 좋을지에 대해 생각해보면 해답을 찾는 데 도움이 됩니다.


마지막으로, 빠른 입출력을 위해서 StreamReader 를 사용하여 입력을 받는 경우가 있는데, 그 경우는 위의 방식이 어째서인지 잘 작동하진 않네요. Console.ReadLine() 메서드를 활용하시기 바랍니다. 제 전문성이 부족한 관계로 그 이유는 저도 잘.. 모르겠네요..


아무튼 도움이 되었으면 합니다. 모두들 좋은 하루 되세요.

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