코딩테스트/Programmers
[Programmers] 입문) 대문자와 소문자 (아스키코드)
HONGGG
2023. 6. 27. 18:29
이번 문제는 보자마자 아스키코드를 사용하자고 생각했다.
당연히 STL에서 IsUpper와 IsLower같은 확인 함수와 함께 Select로 확인할 수도 있겠지만 이방법이 더 빠를 것이라 생각했다.
using System;
public class Solution {
public string solution(string my_string) {
string answer = "";
foreach (char c in my_string)
answer += (char)((c < 91) ? c + 32 : c - 32);
return answer;
}
}
이번에는 다른분들이 STL을 사용한 코드를 실행해봤다.
using System;
using System.Linq;
public class Solution {
public string solution(string my_string) {
var selectResult = my_string.Select(a => char.IsUpper(a) ? char.ToLower(a) : char.ToUpper(a));
string answer = new String(selectResult.ToArray());
return answer;
}
}
코드가 깔끔해 보이기는 한데 예상했던 것 훨씬 이상으로 퍼포먼스가 느려졌다.