![[Lv. 0] 배열의 유사도](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbPIWwv%2Fbtr5zP1sUrp%2Fc3OzUgOYGx7jmOdUiAQYm1%2Fimg.png)

[Lv. 0] 배열의 유사도프로그래머스/Level 02023. 3. 24. 12:09
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120903
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
난이도 : Level.0
언어 : Kotlin
문제 설명 :
- 두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 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 |
풀이 :
class Solution {
fun solution(s1: Array<String>, s2: Array<String>): Int = (s1.toList() + s2.toList()).groupBy { it }.filter { it.value.size > 1 }.flatMap { it.value }.distinct().count()
}
배열 s1, s2를 리스트로 바꾼 뒤, 리스트 원소를 하나로 묶어 해당 원소가 1개 초과일 경우라는 필터를 사용,
걸러진 원소들로 하여금 새로운 리스트를 만들고 distinct()로 중복 원소를 제거한 뒤 해당 리스트의 원소를 카운트한다.
'프로그래머스 > Level 0' 카테고리의 다른 글
[Lv. 0] 가장 큰 수 찾기 (0) | 2023.03.24 |
---|---|
[Lv. 0] 문자열 계산하기 (0) | 2023.03.24 |
[Lv. 0] 숫자 찾기 (0) | 2023.03.23 |
[Lv. 0] n의 배수 고르기 (0) | 2023.03.23 |
[Lv. 0] 자릿수 더하기 (0) | 2023.03.23 |

@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!