[Lv. 0] 배열의 유사도프로그래머스/Level 02023. 3. 24. 12:09
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120903
난이도 : 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 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!