본문 바로가기
문제풀이/프로그래머스

Java - 배열의 유사도

by Ropung 2023. 10. 12.

Lv0. - java

[문제링크]

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

요구사항

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


제한사항

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

입출력 예

s1 s2 result
[“a”, “b”, “c”] [“com”, “b”, “d”, “p”, “c”] 2
[“n”, “omg”] [“m”, “dot”] 0
  • "b"와 "c"가 같으므로 2를 return합니다.
  • 같은 원소가 없으므로 0을 return합니다.

나의 문제풀이

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 += 1;                 
                }             
            }         
        }               
        return answer;     
    } 
}
  • 2중 for문을 돌려서 같은 값이면 answer를 1씩 증가시켜서 해결했다.
테스트 성능
테스트 1 〉 통과 (0.05ms, 72.8MB)
테스트 2 〉 통과 (0.03ms, 75.2MB)
테스트 3 〉 통과 (0.04ms, 79.1MB)
테스트 4 〉 통과 (0.03ms, 77.8MB)
테스트 5 〉 통과 (0.02ms, 81.4MB)
테스트 6 〉 통과 (0.03ms, 77.4MB)
테스트 7 〉 통과 (0.04ms, 75.6MB)
테스트 8 〉 통과 (0.02ms, 74.7MB)

고민

2중 for문을 돌린게 다여서 딱히 고민을 하진 않았던것 같다.
Set을 사용하여 HashSet 인자에 배열을 만들어 넣는 방법이 있었지만 HashSet에 대한 공부가 필요하여 분석하진 못하였다.

'문제풀이 > 프로그래머스' 카테고리의 다른 글

Java - 모음제거  (2) 2023.10.12
Lv0. 순서쌍의 개수 - java  (0) 2023.10.09
Lv0. 삼각형의 완성조건 (1) - java  (0) 2023.10.09
Lv0.편지-java  (2) 2023.10.07