본문 바로가기
코딩테스트/자바 Level 0

[Java] 배열의 유사도

by onggury 2023. 7. 10.

문제

두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.

 

 

제한사항

  • 1 ≤ s1, s2의 길이 ≤ 100
  • 1 ≤ s1, s2의 원소의 길이 ≤ 10
  • s1 과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다.
  • s1과 s2는 각각 중복된 원소를 갖지 않습니다.

 

import java.util.ArrayList;
import java.util.Arrays;

class Solution {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        String[] shortArray = s1.length > s2.length ? s1 : s2;
        String[] longArray = s1.length > s2.length ? s2 : s1;
        
        ArrayList<String> longList = new ArrayList<String>(Arrays.asList(longArray));
        for(String str : shortArray) {
            if(longList.contains(str)) {
                answer++;
            }
        }
        return answer;
    }
}

 

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120903