[Programmers] ์นด๋ ๋ญ์น
https://school.programmers.co.kr/learn/courses/30/lessons/159994?language=python3
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์
์ฝ๋๋ ์์ด ๋จ์ด๊ฐ ์ ํ ์นด๋ ๋ญ์น ๋ ๊ฐ๋ฅผ ์ ๋ฌผ๋ก ๋ฐ์์ต๋๋ค. ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ผ๋ก ์นด๋์ ์ ํ ๋จ์ด๋ค์ ์ฌ์ฉํด ์ํ๋ ์์์ ๋จ์ด ๋ฐฐ์ด์ ๋ง๋ค ์ ์๋์ง ์๊ณ ์ถ์ต๋๋ค.
- ์ํ๋ ์นด๋ ๋ญ์น์์ ์นด๋๋ฅผ ์์๋๋ก ํ ์ฅ์ฉ ์ฌ์ฉํฉ๋๋ค.
- ํ ๋ฒ ์ฌ์ฉํ ์นด๋๋ ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์นด๋๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ๋ค์ ์นด๋๋ก ๋์ด๊ฐ ์ ์์ต๋๋ค.
- ๊ธฐ์กด์ ์ฃผ์ด์ง ์นด๋ ๋ญ์น์ ๋จ์ด ์์๋ ๋ฐ๊ฟ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์ฒซ ๋ฒ์งธ ์นด๋ ๋ญ์น์ ์์๋๋ก ["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์ ๋ฌธ์์ด๋ค์ ๋ชจ๋ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
Write Up
def solution(cards1, cards2, goal):
card1idx , card2idx = 0 , 0
answer = "Yes"
for word in goal:
if len(cards1) > card1idx and cards1[card1idx] == word:
card1idx += 1
elif len(cards2) > card2idx and cards2[card2idx] == word:
card2idx += 1
else:
answer = "No"
break
return answer
if๋ฌธ์์ ํ์ฐธ index ์๋ฌ๊ฐ ๋ฌ์๋ค.
์์ index ๋น๊ตํ๋ ๊ตฌ๋ฌธ๊ณผ word๋ ๋น๊ตํ๋ ๊ตฌ๋ฌธ์ ์์๋ง ๋ฐ๊ฟ์ฃผ๋ ํต๊ณผ..
and ๋ฌธ์ผ๋ก ๋ฌถ์์ผ๋๊น ๊ฒฐ๊ณผ๊ฐ ์ด์จ๋ ๋ ๋ค ํต๊ณผํด์ผ ๋์ด๊ฐ๋ ๊ฑฐ ์๋๊ฐ..? ์ธ๋ฑ์ค ๋ฌธ์ ๋ ์ ๋ฐ์ํ๋ ๊ฑธ๊น์๐ฅฒ