안녕하세요. 이번에는 프로그래머스 카드 뭉치 문제를 풀어보려고 합니다.
Problem
https://school.programmers.co.kr/learn/courses/30/lessons/159994
Solution
class Solution {
fun solution(cards1: Array<String>, cards2: Array<String>, goal: Array<String>): String {
var cards1Index = 0
var cards2Index = 0
goal.forEach {
if(cards1.size > cards1Index && cards1[cards1Index] == it) {
cards1Index++
} else if(cards2.size > cards2Index && cards2[cards2Index] == it) {
cards2Index++
} else {
return "No"
}
}
return "Yes"
}
}
이번 문제는 forEach 문을 통해서 쉽게 문제를 풀 수 있었습니다. goal의 자리에 맞는 값들을 card1와 card2에 index자리에 있는지 파악한 후 만약 없으면 return을 시키고 있으면 index값을 증가시키면서 goal을 전체 순환 했을 때 Yes를 출력하도록 코드를 작성해 보았습니다. 대부분의 사람들이 비슷한 방법으로 문제를 접근하였습니다. 새로운 풀이법이 있으면 언제든지 댓글로 남겨주시면 감사하겠습니다.
Performance
1. 내가 작성한 코드 |
반응형
'프로그래머스 Algorithm' 카테고리의 다른 글
[프로그래머스] 할인 행사 Kotlin (0) | 2024.01.04 |
---|---|
[프로그래머스] 괄호 회전하기 Kotlin (0) | 2024.01.03 |
[프로그래머스] 연속 부분 수열 합의 개수 Kotlin (2) | 2023.12.30 |
[프로그래머스] 명예의 전당 Kotlin (0) | 2023.12.29 |
[프로그래머스] 귤 고르기 Kotlin (2) | 2023.12.23 |