[Swift] νλ‘κ·Έλλ¨Έμ€ LV.1 μΉ΄λ λμΉ
νλ‘κ·Έλλ¨Έμ€ LV.1 λͺ¨μ
μΉ΄λ λμΉ
λ¬Έμ μ€λͺ
μ½λλ μμ΄ λ¨μ΄κ° μ ν μΉ΄λ λμΉ λ κ°λ₯Ό μ λ¬Όλ‘ λ°μμ΅λλ€. μ½λλ λ€μκ³Ό κ°μ κ·μΉμΌλ‘ μΉ΄λμ μ ν λ¨μ΄λ€μ μ¬μ©ν΄ μνλ μμμ λ¨μ΄ λ°°μ΄μ λ§λ€ μ μλμ§ μκ³ μΆμ΅λλ€.
- μνλ μΉ΄λ λμΉμμ μΉ΄λλ₯Ό μμλλ‘ ν μ₯μ© μ¬μ©ν©λλ€.
- ν λ² μ¬μ©ν μΉ΄λλ λ€μ μ¬μ©ν μ μμ΅λλ€.
- μΉ΄λλ₯Ό μ¬μ©νμ§ μκ³ λ€μ μΉ΄λλ‘ λμ΄κ° μ μμ΅λλ€.
- κΈ°μ‘΄μ μ£Όμ΄μ§ μΉ΄λ λμΉμ λ¨μ΄ μμλ λ°κΏ μ μμ΅λλ€.
μλ₯Ό λ€μ΄ 첫 λ²μ§Έ μΉ΄λ λμΉμ μμλλ‘ ["i", "drink", "water"], λ λ²μ§Έ μΉ΄λ λμΉμ μμλλ‘ ["want", "to"]κ° μ νμμ λ ["i", "want", "to", "drink", "water"] μμμ λ¨μ΄ λ°°μ΄μ λ§λ€λ €κ³ νλ€λ©΄ 첫 λ²μ§Έ μΉ΄λ λμΉμμ "i"λ₯Ό μ¬μ©ν ν λ λ²μ§Έ μΉ΄λ λμΉμμ "want"μ "to"λ₯Ό μ¬μ©νκ³ μ²« λ²μ§Έ μΉ΄λλμΉμ "drink"μ "water"λ₯Ό μ°¨λ‘λλ‘ μ¬μ©νλ©΄ μνλ μμμ λ¨μ΄ λ°°μ΄μ λ§λ€ μ μμ΅λλ€.
λ¬Έμμ΄λ‘ μ΄λ£¨μ΄μ§ λ°°μ΄ cards1, cards2μ μνλ λ¨μ΄ λ°°μ΄ goalμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, cards1κ³Ό cards2μ μ ν λ¨μ΄λ€λ‘ goalλ₯Ό λ§λ€ μλ€λ©΄ "Yes"λ₯Ό, λ§λ€ μ μλ€λ©΄ "No"λ₯Ό return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
μ ν μ¬ν
- 1 ≤ cards1μ κΈΈμ΄, cards2μ κΈΈμ΄ ≤ 10
- 1 ≤ cards1 [i]μ κΈΈμ΄, cards2 [i]μ κΈΈμ΄ ≤ 10
- cards1κ³Ό cards2μλ μλ‘ λ€λ₯Έ λ¨μ΄λ§ μ‘΄μ¬ν©λλ€.
- 2 ≤ goalμ κΈΈμ΄ ≤ cards1μ κΈΈμ΄ + cards2μ κΈΈμ΄
- 1 ≤ goal [i]μ κΈΈμ΄ ≤ 10
- goalμ μμλ cards1κ³Ό cards2μ μμλ€λ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
- cards1, cards2, goalμ λ¬Έμμ΄λ€μ λͺ¨λ μνλ²³ μλ¬Έμλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
μ μΆλ ₯ μ
cards1 | cards2 | goal | result |
["i", "drink", "water"] | ["want", "to"] | ["i", "want", "to", "drink", "water"] | "Yes" |
["i", "water", "drink"] | ["want", "to"] | ["i", "want", "to", "drink", "water"] | "No" |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #1
- λ³Έλ¬Έκ³Ό κ°μ΅λλ€.
μ μΆλ ₯ μ #2
- cards1μμ "i"λ₯Ό μ¬μ©νκ³ cards2μμ "want"μ "to"λ₯Ό μ¬μ©νμ¬ "i want to"κΉμ§λ λ§λ€ μ μμ§λ§ "water"κ° "drink"λ³΄λ€ λ¨Όμ μ¬μ©λμ΄μΌ νκΈ° λλ¬Έμ ν΄λΉ λ¬Έμ₯μ μμ±μν¬ μ μμ΅λλ€. λ°λΌμ "No"λ₯Ό λ°νν©λλ€.
μ μΆ
import Foundation
func solution(_ cards1:[String], _ cards2:[String], _ goal:[String]) -> String {
var cards1 = cards1, cards2 = cards2
for s in goal{
if !cards1.isEmpty && cards1[0] == s {
cards1.removeFirst()
}else if !cards2.isEmpty && cards2[0] == s {
cards2.removeFirst()
}else{
return "No"
}
}
return "Yes"
}
cards1, cards2λ₯Ό λ³μλ‘ λ³ννλ€.
goalμ μμλ₯Ό sμ μμλλ‘ μ μ₯νλ€.
λ§μ½ card1μ΄ λΉμ΄μμ§ μκ³ , card1μ 첫 λ²μ§Έ μμκ° sμ κ°λ€λ©΄ card1μ 첫λ²μ§Έ μμλ₯Ό μμ νλ€.
λλ card2κ° λΉμ΄μμ§ μκ³ , card2μ 첫λ²μ§Έ μμκ° sμ κ°λ€λ©΄ card2μ 첫λ²μ§Έ μμλ₯Ό μμ νλ€.
λ κ²½μ° λͺ¨λ ν΄λΉνμ§ μλ λ€λ©΄, ν΄λΉ λ¬Έμ₯μ μμ±μν¬ μ μκΈ° λλ¬Έμ "No"λ₯Ό λ°ννλ€.
forλ¬Έμ 무μ¬ν μ’ λ£νλ€λ©΄ "Yes"λ₯Ό λ°ννλ€.