Algorithm/프로그래머스
[프로그래머스 > Lv1] 카드뭉치
RIEN😚
2023. 2. 16. 20:05
728x90
반응형
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제
[입력]
- 문자열로 이루어진 배열 cards1, cards2
- 원하는 단어 배열 goal
[결과]
- cards1과 cards2에 적힌 단어들로 goal를 만들 수 있다면 "Yes", 만들 수 없다면 "No"를 return
2. 코드
kotlin
class Solution {
fun solution(cards1: Array<String>, cards2: Array<String>, goal: Array<String>): String {
var first = 0 // cards 1
var second = 0 // cards 2
val cards1Length = cards1.size
val cards2Length = cards2.size
val length = goal.size
(0 until length).forEach {
if (first < cards1Length && cards1[first] == goal[it])
first++
else if (second < cards2Length && cards2[second] == goal[it])
second++
else return "No"
}
return "Yes"
}
}
Python
def solution(cards1, cards2, goal):
first, second = 0, 0
cards1_size, cards2_size = len(cards1), len(cards2)
target = len(goal)
for i in range(target):
if first<cards1_size and cards1[first]==goal[i]:
first+=1
elif second<cards2_size and cards2[second]==goal[i]:
second+=1
else: return "No"
return "Yes"
반응형