728x90
๋ฐ์ํ
"""
XYZ ๋งํธ๋ ์ผ์ ํ ๊ธ์ก์ ์ง๋ถํ๋ฉด 10์ผ ๋์ ํ์ ์๊ฒฉ์ ๋ถ์ฌํฉ๋๋ค.
XYZ ๋งํธ์์๋ ํ์์ ๋์์ผ๋ก ๋งค์ผ ํ ๊ฐ์ง ์ ํ์ ํ ์ธํ๋ ํ์ฌ๋ฅผ ํฉ๋๋ค.
ํ ์ธํ๋ ์ ํ์ ํ๋ฃจ์ ํ๋์ฉ๋ง ๊ตฌ๋งคํ ์ ์์ต๋๋ค.
์๋ฐํ ์ ํ์ด๋ ์์ ์ด ์ํ๋ ์ ํ๊ณผ ์๋์ด ํ ์ธํ๋ ๋ ์ง์
10์ผ ์ฐ์์ผ๋ก ์ผ์นํ ๊ฒฝ์ฐ์ ๋ง์ถฐ์ ํ์๊ฐ์
์ ํ๋ ค ํฉ๋๋ค.
(์ค๋ต)
์ ํ์ด๊ฐ ์ํ๋ ์ ํ์ ๋ํ๋ด๋ ๋ฌธ์์ด ๋ฐฐ์ด want์
์ ํ์ด๊ฐ ์ํ๋ ์ ํ์ ์๋์ ๋ํ๋ด๋ ์ ์ ๋ฐฐ์ด number,
XYZ ๋งํธ์์ ํ ์ธํ๋ ์ ํ์ ๋ํ๋ด๋ ๋ฌธ์์ด ๋ฐฐ์ด discount๊ฐ ์ฃผ์ด์ก์ ๋,
ํ์๋ฑ๋ก์ ์ ํ์ด๊ฐ ์ํ๋ ์ ํ์ ๋ชจ๋ ํ ์ธ ๋ฐ์ ์ ์๋
ํ์๋ฑ๋ก ๋ ์ง์ ์ด ์ผ์๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํ์์ค.
๊ฐ๋ฅํ ๋ ์ด ์์ผ๋ฉด 0์ return ํฉ๋๋ค.
"""
def solution(want, number, discount):
answer, wants = 0, []
for v, n in zip(want, number):
wants += [v]*n
wants = sorted(wants)
for i in range(len(discount[:-len(wants)+1])):
answer += int(wants == sorted(discount[i:len(wants)+i]))
return answer
"""
ํ ์ธ์ ๋ณด์์ ๋ค๋ก ์ํ๋์ ํ๋ค์ด ์ ๋ถ ์์ผ๋ฉด 1์ฉ ๋ํด์ฃผ๋ ค๊ณ ํ๋ค.
- 21~22 line
์ํ๋ ์ ํ์ [์ ํ๋ช
, ๊ฐฏ์] ์์ [์ ํ๋ช
,์ ํ๋ช
,..]์ผ๋ก ๋ฐ๊พธ๋ ค๊ณ ํ๋ค.
๊ฐ์ ๋ฐ๋ก ์ ํ ๋ฐ๋ก๋ฉด ๋ก์ง์ด ๋ ์ด๋ ค์ธ ๊ฒ ๊ฐ์์ ๊ทธ๋ฌ๋ค.
- 24 line
sort๋ฅผ ๊ฐ๊ฐ ํด์ค์ผ ๋งค๋ฒ ์ด๋์ ๋ญ๊ฐ ์๋์ง ์ฐพ์ง ์๊ณ ํต์ผ๋ก ๋น๊ตํ ์ ์๋ค.
- 25 line
ํ ์ธ์ ๋ณด์์ ์ญ ๋ด๊ฐ ์ํ๋ ์ ํ๋ค์ด ์์ด์ผํ๊ธฐ ๋๋ฌธ์ ์ํ๋ ์ ํ๊ธธ์ด๋งํผ ๋ ๊ฒ์ฌํด๋ ๋๋ค.
์ด์ฐจํผ discount[len(wants)+1:] ๋ถํฐ๋ ๋ค๋ก ๊ฒ์ฌํด๋ด์ผ ์ ํ๊ฐฏ์ ์์ฒด๊ฐ ๋ถ์กฑํ๊ธฐ ๋๋ฌธ์ด๋ค.
ex) want:['a','a','a'] / discount:['a','a','a','a']๋ผ๋ฉด
discount[2]๋ถํฐ ๊ฒ์ฌํด๋ด์ผ ์ํ๋ ๊ฐ์๋ 3๊ฐ์ธ๋ฐ ๊ฒ์ฌํ ๊ธธ์ด๋ 2๊ฐ๋ฐ์ ์๋ค.
- 26 line
์ํ๋ ์ ํ๊ณผ ํ ์ธ์ ๋ณด๋ฅผ ๋น๊ตํ๋ฉด true, false๋ก ๋์ค๋๋ฐ intํ์ผ๋ก ๋ฐ๊พธ๋ฉด 1, 0์ด๋ค.
๊ทธ๋์ ๊ทธ ๊ฐ์ answer์ ๋ํ๋ฉด ๋๋ค.
"""
728x90
๋ฐ์ํ
๋๊ธ