ํ๋ก๊ทธ๋๋จธ์ค 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"๋ฅผ ๋ฐํํ๋ค.
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ๋ฐฑ์ค 9012๋ฒ - ๊ดํธ (0) | 2023.03.18 |
---|---|
[Swift] ๋ฐฑ์ค 10828๋ฒ - ์คํ (0) | 2023.03.18 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋๋ง์ ์ํธ (0) | 2023.03.18 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ฐ์ธ์ ๋ณด ์์ง ์ ํจ๊ธฐ๊ฐ (0) | 2023.03.17 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ๋ฌธ์์ด (0) | 2023.03.17 |