programmers/Lv.0

[Python] [PCCE ๊ธฐ์ถœ๋ฌธ์ œ] 7๋ฒˆ / ๋ฒ„์Šค

maesil 2025. 2. 24. 13:06

๋ฌธ์ œ ์„ค๋ช…

 

์˜์ง„์ด๋Š” ์•ฝ์†์žฅ์†Œ์— ๊ฐ€๊ธฐ ์œ„ํ•ด ๋ฒ„์Šค๋ฅผ ํƒ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฒ„์Šค์—๋Š” ์ขŒ์„์ด ์ด 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