728x90
<코딩 테스트>
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return 하도록 solution 함수를 완성해주세요.
<나의 풀이 과정>
우선 배열의 비교는 equals를 활용하였으며, for문으로 각 요소를 돌며 비교한 값이 true가 될경우,
answer의 값을 증가시켰습니다.
<나의 풀이 코드>
class Solution {
public int solution(String[] s1, String[] s2) {
int answer = 0;
for (int i = 0; i < s1.length; i++) {
for (int j = 0; j < s2.length; j++) {
if(s1[i].equals(s2[j])) {
answer++;
}
}
}
return answer;
}
}
<다른 사람 풀이1>
import java.util.*;
class Solution {
public int solution(String[] s1, String[] s2) {
Set<String> set = new HashSet<>(Arrays.asList(s1));
return (int)Arrays.stream(s2).filter(set::contains).count();
}
}
<다른 사람 풀이2>
import java.util.*;
import java.util.stream.Collectors;
class Solution {
public int solution(String[] s1, String[] s2) {
return (int) Arrays.stream(s1).map(s -> Arrays.stream(s2).collect(Collectors.toList()).contains(s)).filter(b -> b).count();
}
}
728x90
'주니어 기초 코딩공부 > JAVA_programmers_코딩테스트' 카테고리의 다른 글
자릿수 더하기_programmers_lev00 (0) | 2022.12.02 |
---|---|
순서쌍의 개수_programmers_lev00 (0) | 2022.12.02 |
짝수는 싫어요_programmers_lev00 (0) | 2022.12.01 |
삼각형의 완성 조건_programmers_lev00 (0) | 2022.12.01 |
편지_programmers_lev00 (0) | 2022.12.01 |