1. ๋ฌธ์ ์ค๋ช
์์ง์ด๋ ์ฝ์์ฅ์์ ๊ฐ๊ธฐ ์ํด ๋ฒ์ค๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฒ์ค์๋ ์ข์์ด ์ด seat๊ฐ๋งํผ ์์ต๋๋ค. ์์ง์ด๋ ๋ฒ์ค ์ข์์ ์์์ ๊ฐ ์ ์์์ง ๊ถ๊ธํดํฉ๋๋ค. ๊ธฐ์ ์์ ์ถ๋ฐํ ๋ฒ์ค๊ฐ ์์ง์ด๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์ ๊ฑฐ์ฅ์ ๋์ฐฉํ๊ธฐ ์ ์ ๋ฐฉ๋ฌธํ๋ ๊ฐ ์ ๊ฑฐ์ฅ์์ ์น/ํ์ฐจํ ์น๊ฐ ์ ๋ณด๊ฐ ์ฃผ์ด์ง ๋, ์์ง์ด๊ฐ ๋ฒ์ค์ ํ ์๊ฐ ๋น ์ข์์ ๋ช ๊ฐ์ธ์ง ๊ตฌํด์ฃผ์ธ์. ์์ง์ด๊ฐ ๊ธฐ๋ค๋ฆฌ๋ ์ ๊ฑฐ์ฅ์์๋ ์์ง์ด๊ฐ ์ ์ผ ๋จผ์ ๋ฒ์ค์ ํ์นํ๋ฉฐ, ์ด์ ์ ๊ฑฐ์ฅ์์ ๋ฒ์ค์ ํ์นํ ์น๊ฐ๋ค์ ๋จ๋ ์ข์์ด ์๋ค๋ฉด ํญ์ ์๋๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ๋, ๊ธฐ์ ์์ ์ถ๋ฐํ๋ ๋ฒ์ค์๋ ์น๊ฐ์ด 0๋ช ํ๊ณ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋ค์์ ์ข์์ด 5๊ฐ์ธ ๋ฒ์ค์ ๊ฐ ์ ๊ฑฐ์ฅ์์ ์น/ํ์ฐจํ ์น๊ฐ ์ ๋ณด๋ฅผ ๋ํ๋ ๋๋ค. ์์ง์ด๋ 4๋ฒ ์ ๊ฑฐ์ฅ์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ผ๋ฉฐ, "On"์ ์น์ฐจํ ์น๊ฐ, "Off"๋ ํ์ฐจํ ์น๊ฐ์ ์๋ฏธํฉ๋๋ค.
- 1๋ฒ ์ ๊ฑฐ์ฅ : ["On", "On", "On"] (3๋ช ์น์ฐจ, 0๋ช ํ์ฐจ)
- 2๋ฒ ์ ๊ฑฐ์ฅ : ["Off", "On", "-"] (1๋ช ์น์ฐจ, 1๋ช ํ์ฐจ)
- 3๋ฒ ์ ๊ฑฐ์ฅ : ["Off", "-", "-"] (0๋ช ์น์ฐจ, 1๋ช ํ์ฐจ)
์์ ๊ฐ์ ๊ฒฝ์ฐ, 1๋ฒ ์ ๊ฑฐ์ฅ์์ 3๋ช ์ด ์น์ฐจํ๊ณ , 2๋ฒ ์ ๊ฑฐ์ฅ์์ 1๋ช ์น์ฐจ 1๋ช ํ์ฐจ, 3๋ฒ ์ ๊ฑฐ์ฅ์์ 1๋ช ์ด ํ์ฐจํ์ผ๋ฏ๋ก 4๋ฒ ์ ๊ฑฐ์ฅ์ ๋์ฐฉํ ๋ฒ์ค์๋ 2๋ช ์ด ํ๊ณ ์์ต๋๋ค. 4๋ฒ ์ ๊ฑฐ์ฅ์์๋ ์์ง์ด๊ฐ ๊ฐ์ฅ ๋จผ์ ํ์นํ๋ฏ๋ก, ๋จ์์๋ ์ข์ ์๋ 3๊ฐ์ ๋๋ค.
์ฃผ์ด์ง solutionํจ์๋ ๋ฒ์ค์ ์ข์ ๊ฐ์ seat, ๊ธฐ์ ์์ ์ถ๋ฐํ ๋ฒ์ค๊ฐ ์์๋๋ก ๋ฐฉ๋ฌธํ ์ ๊ฑฐ์ฅ์์ ์น๊ฐ์ด ์น/ํ์ฐจํ ์ ๋ณด๋ฅผ ๋ด์ 2์ฐจ์ ๋ฌธ์์ด ๋ฆฌ์คํธ passengers๊ฐ ์ฃผ์ด์ง ๋, ๋ฒ์ค์ ๋จ์์๋ ์ข์์ ๊ฐ์๋ฅผ return ํ๋ ํจ์์ ๋๋ค. solution ํจ์๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ํ๋๋ก ๋น์นธ์ ์ฑ์ solutionํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 ≤ seat ≤ 30
- 1 ≤ passengers์ ๊ธธ์ด ≤ 10
- 1 ≤ passengers์ ๊ธธ์ด[i]์ ๊ธธ์ด ≤ 20
- passengers[0]์ 1๋ฒ ์ ๊ฑฐ์ฅ, passengers[1]์ 2๋ฒ ์ ๊ฑฐ์ฅ, ... passengers[i]๋ i+1๋ฒ ์ ๊ฑฐ์ฅ์ ์ ๋ณด์ ๋๋ค.
- passsengers์ ๊ธธ์ด๊ฐ n์ด๋ผ๋ฉด, ์์ง์ด๋ n + 1๋ฒ ์ ๊ฑฐ์ฅ์์ ๊ธฐ๋ค๋ฆฌ๊ณ ์์ต๋๋ค.
- passengers[i]์ ๊ธธ์ด๋ ๋ชจ๋ ๋์ผํฉ๋๋ค.
- passengers[i]์ ์์๋ "On", "Off" ๋๋ "-"์
๋๋ค.
- "-"๋ ๋ฐฐ์ด์ ๊ฐ๋ก(์ด) ๊ธธ์ด๋ฅผ ๋ง์ถ๊ธฐ ์ํ ์์๋ก, ์๋ฌด๋ฐ ์๋ฏธ๋ ์์ต๋๋ค.
- "-"๊ฐ "On", "Off" ์ฌ์ด์ ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
2. ์ถ๋ ฅ ์์

3. ๋ฌธ์ ๋ต์
def func1(num):
if 0 > num:
return 0
else:
return num
def func2(num):
if num > 0:
return 0
else:
return num
def func3(station):
num = 0
for people in station:
if people == "Off":
num += 1
return num
def func4(station):
num = 0
for people in station:
if people == "On":
num += 1
return num
def solution(seat, passengers):
num_passenger = 0
for station in passengers:
num_passenger += func4(station)
num_passenger -= func3(station)
answer = func1(seat - num_passenger)
return answer