코딩테스트/Programmers
[Programmers] 입문) 배열의 유사
HONGGG
2023. 6. 27. 04:51
딱히 어려운 문제는 아니었다.
다만 어떻게 STL로 처리할 수 있을까 고민을 했는데 일단 반복문으로 처리해서 처리 속도를 올리는 것을 목표로 하기로 했다.
using System;
public class Solution {
public int solution(string[] s1, string[] s2) {
int answer = 0;
for(int k = 0; k < s1.Length; k++)
for(int j = 0; j < s2.Length; j++)
if(s1[k] == s2[j])
answer++;
return answer;
}
}
확실히 반복문을 사용하니 속도가 빨랐다.
이제 STL을 활용한 다른분들의 풀이를 보았는데 가장 간략한 코드는 다음과 같았다.
using System;
using System.Linq;
public class Solution {
public int solution(string[] s1, string[] s2) {
return s1.Count(x => s2.Contains(x));
}
}
거진 4배 속도 차이가 난다.
밀리세컨드가 얼마나 채감되겠냐만은 배열의 크기가 커진다면 어느정도 고려해봐야할 부분 같다.
물론 가독성 하나만큼은 갑이긴 하다.