middlemoon

프로그래머스 - 배열의 유사도 본문

Algorithm/프로그래머스

프로그래머스 - 배열의 유사도

중대경 2023. 7. 14. 16:00

https://school.programmers.co.kr/learn/courses/30/lessons/120903?language=java 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

  • 배열의 유사도
문제 설명

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


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

입출력 예

 



입출력 예 설명

입출력 예 #1

  • "b"와 "c"가 같으므로 2를 return합니다.

입출력 예 #2

  • 같은 원소가 없으므로 0을 return합니다.

 

 

 

* 접근방법

 

우선 입출력에서 보다시피 s1과 s2의 기준을 잡아야합니다.

한 줄 a,b,c에 해당하는 부분 한 배열과, 

그 다음 한 줄 com, b, d, p, c에 해당하는 부분 한 배열을 비교해줘야하기 때문에,

각 돌 수 있게끔 i, j를 반복문으로 돌고 난 후

배열안에 각각 i와j를 삽입 후 문자열을 비교해 두개가 같다는 조건을 달아줍니다.

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;
    }
}

 

 

또 방법이 한가지 더 있다면, 변수 count를 설정하여 넣어주는 방법도 있습니다.

class Solution {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        int count = 0;
        for(int i = 0; i < s1.length; i++){
            for(int j = 0; j < s2.length; j++){
                if(s1[i].equals(s2[j])){
                    count++;
                }
            }
        }
        answer = count;
        return answer;
    }
}

 

 

 

'Algorithm > 프로그래머스' 카테고리의 다른 글

프로그래머스 짝수 홀수 개수  (0) 2023.06.04
프로그래머스 최대값 만들기(1)  (0) 2023.04.16
Comments