์ฝ๋๋ ์์ด ๋จ์ด๊ฐ ์ ํ ์นด๋ ๋ญ์น ๋ ๊ฐ๋ฅผ ์ ๋ฌผ๋ก ๋ฐ์์ต๋๋ค. ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ์นด๋์ ์ ํ ๋จ์ด๋ค์ ์ฌ์ฉํด ์ํ๋ ์์์ ๋จ์ด ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋์ง ์๊ณ ์ถ์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ์นด๋ ๋ญ์น์ ์์๋๋ก ["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 ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
cards1
์ ๊ธธ์ด, cards2
์ ๊ธธ์ด โค 10cards1[i]
์ ๊ธธ์ด, cards2[i]
์ ๊ธธ์ด โค 10cards1
๊ณผ cards2
์๋ ์๋ก ๋ค๋ฅธ ๋จ์ด๋ง ์กด์ฌํฉ๋๋ค.goal
์ ๊ธธ์ด โค cards1
์ ๊ธธ์ด + cards2
์ ๊ธธ์ดgoal[i]
์ ๊ธธ์ด โค 10goal
์ ์์๋ 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"] |
function solution(cards1, cards2, goal) {
// ์ด ๋ฐ๋ณตํ์
const len = goal.length
for(let i = 0 ; i < len ; i ++) {
// ์ฒซ ๋ฒ์งธ ์นด๋๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์ฒดํฌ
if(cards1[0] === goal[0]) {
cards1.shift()
goal.shift()
} else if(cards2[0] === goal[0]) {
cards2.shift()
goal.shift()
} else {
return "No"
}
}
return "Yes"
}