티스토리 뷰
중복된 것을 처리하는 Distinct함수가 존재한다.
string을 char배열로 변경하여 Distinct함수를 호출하고 다시 string으로 캐스팅하는 방법이 가장 쉬운 것 같다. (System.Linq 필요)
코드는 다음과 같이 되었다.
using System;
using System.Linq;
public class Solution {
public string solution(string my_string) {
return new string(my_string.Distinct().ToArray());
}
}
결과는 기대 이상은 아니었다. STL 함수들이 난무했으니 예상한 바이다.
다른 분들의 정답 중 Concat를 활용한 코드가 있었다.
using System;
using System.Linq;
public class Solution {
public string solution(string my_string) {
return string.Concat(my_string.Distinct().ToArray());
}
}
결과가 나쁘지는 않았지만 역시 Concat로 문자열을 이어 붙이는 작업의 무게가 좀 큰 것 같다.
string을 새로 할당하는 부분이 문자열을 연결하는 것보다는 빠르다.
시간복잡도와 공간복잡도의 비례가 발생하는 부분인 것 같다.
'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers] 입문) A로 B 만들기 (0) | 2023.07.02 |
---|---|
[Programmers] 입문) 팩토리얼 (역추적) (0) | 2023.07.01 |
[Programmers] 입문) 합성수 찾기 (조건문) (0) | 2023.06.28 |
[Programmers] 입문) 숫자 찾기 (0) | 2023.06.28 |
[Programmers] 입문) 369게임 (0) | 2023.06.28 |