본문 바로가기
코딩테스트/프로그래머스 입문

[코딩테스트 Lv.0] 배열의 유사도

by 블루데이제이 2024. 4. 8.
728x90
반응형
문제 설명

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

제한 사항
1 ≤ s1, s2의 길이 ≤ 100
1 ≤ s1, s2의 원소의 길이 ≤ 10
s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다
s1과 s2는 각각 중복된 원소를 갖지 않습니다.
입출력 예
s1		s2				result
["a", "b", "c"]	["com", "b", "d", "p", "c"]	2
["n", "omg"]	["m", "dot"]			0
입출력 예 설명
입출력 예 #1
"b"와 "c"가 같으므로 2를 return합니다.

입출력 예 #2
같은 원소가 없으므로 0을 return합니다.

내 풀이
Java
class Solution {
    public int solution(String[] s1, String[] s2) {
        int answer = 0;
        
        for(String a : s1){
            for(String b : s2){
                if(a.equals(b)) answer++;
            }
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// s1_len은 배열 s1의 길이입니다.
// s2_len은 배열 s2의 길이입니다.
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* s1[], size_t s1_len, const char* s2[], size_t s2_len) {
    int answer = 0;
    
    for(int i = 0; i < s1_len; i++){
        for(int j = 0; j < s2_len; j++){
            if(strcmp(s1[i],s2[j]) == 0){
                answer++;
            }
        }
    }
    
    return answer;
}
Python
def solution(s1, s2):
    answer = 0
    for i in s1:
        for j in s2:
            if i == j:
                answer += 1
    return answer

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

 

프로그래머스

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

programmers.co.kr

 

728x90
반응형