[Python] [PCCE ๊ธฐ์ถ๋ฌธ์ ] 7๋ฒ / ๋ฒ์ค
๋ฌธ์ ์ค๋ช
์์ง์ด๋ ์ฝ์์ฅ์์ ๊ฐ๊ธฐ ์ํด ๋ฒ์ค๋ฅผ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฒ์ค์๋ ์ข์์ด ์ด 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ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ์ถ๋ ฅ ์
| seat | passengers | result |
| 5 | [["On", "On", "On"], ["Off", "On", "-"], ["Off", "-", "-"]] | 3 |
| 10 | [["On", "On", "On", "On", "On", "On", "On", "On", "-", "-"], ["On", "On", "Off", "Off", "Off", "On", "On", "-", "-", "-"], ["On", "On", "On", "Off", "On", "On", "On", "Off", "Off", "Off"], ["On", "On", "Off", "-", "-", "-", "-", "-", "-", "-"]] | 0 |
์ ์ถ ๋ด์ญ
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
ํ๋ก๊ทธ๋๋จธ์ค > PCCE ๊ธฐ์ถ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/340201
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr