🗒 문제

📝 나의 문제풀이
class Solution {
fun solution(s1: Array<String>, s2: Array<String>): Int {
var answer = 0
for(s in s1){
for(x in s2){
if(s==x) answer++
}
}
return answer
}
}
📝 다른 사람의 문제 풀이
다른 사람의 문제 풀이는 좋아요 수가 높거나 많은 사람들이 푼 방법 기준으로 첨부하였습니다.
class Solution {
fun solution(s1: Array<String>, s2: Array<String>) = s1.map(s2::contains).count { it }
}
🖊 문제 풀이 시 알면 좋을 것
contains() 함수
✔ 의미
배열에 특정 값이 들어 있는지 확인
val arr = arrayOf("a", "b", "c") arr.contains("b") // true arr.contains("d") // false
map() 함수
✔ 의미
각 요소를 다른 값으로 바꾼 새 리스트 생성
val nums = listOf(1, 2, 3) nums.map { it * 2 } // [2, 4, 6]
이 문제에서는?
s1.map(s2::contains)
👉 s1의 각 문자열이
👉 s2에 있으면 true, 없으면 false
예:
s1 = ["a", "b", "c"]
s2 = ["b", "c"]
→ [false, true, true]
count { it }
✔ 의미
조건이 true인 개수 세기
listOf(true, false, true).count { it } // 2
반응형
'코딩테스트' 카테고리의 다른 글
| [프로그래머스] n의 배수 고르기 (1) | 2025.12.19 |
|---|---|
| [프로그래머스] 순서쌍의 개수 (1) | 2025.12.19 |
| [프로그래머스] 점의 위치 구하기 (0) | 2025.12.19 |
| [프로그래머스] 피자 나눠 먹기 (3) (0) | 2025.12.19 |
| [프로그래머스] 배열 자르기 (0) | 2025.12.19 |