오늘은 금요일이다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다. 내일 쉰다.
이 문제를 풀면서 기억해야 하는 것이 있어 적는다.
일단 파이썬으로 먼저 풀어봤다.
def solution(s):
return ''.join(sorted(s, reverse=True))
한줄 컷 삽가능. 역시 파이썬이다. b
그럼 C#으로 한번 가볼까.
파이썬처럼 풀어보려 했지만, 아직은 메소드를 모르는게 많아 되는지 아닌지 몰라서 결국 구글링 ㄱ.
대충 두가지 방식을 기억하면 될 것 같다.
public string solution(string s)
{
char[] ss = s.ToCharArray();
Array.Sort(ss);
Array.Reverse(ss);
return new string(ss);
}
먼저 첫번째 방식. using System;
버전이다.
파이썬처럼 문자열을 배열로 만드는 메소드가 있었다. 바로 ToCharArray()
. 요 놈 아주 유용하게 써먹을 거 같으니까 꼭 기억해두자. 반대로는 그냥 string안에 매개변수로 배열을 넣으면 배열을 문자열로 변환가능하다.
그리고 System.Array
를 사용해 정렬과 역순배치를 했다.
public string solution(string s)
{
string answer = "";
foreach (var item in s.ToCharArray().OrderByDescending(x => x))
{
answer += item;
}
return answer;
}
두번째 방식. using System.Linq;
버전이다.
역시 링크가 간지난다. 아직 링크에 대해 익숙하지 않으니 빠르게 습득해보자.
리팩토링이 뭐냐? 간단하게 하면 코드 정리.
개인 과제도 끝나고 심심해서 리슬라임 코드 다시 뒤집어 까보자.
그 외에도 여러가지 자잘자잘하게 리팩토링해봤다.
리팩토링하면서도 공부가 되는 느낌인 것 같다.
그리고 리팩토링에는 끝이 없다.