본문 바로가기
코딩 테스트/프로그래머스

버스

by ornni 2024. 10. 18.
728x90
반응형

첫번째 코드

 

마지막 코드의 빈칸만 채우면 되는 문제이다.

 

마지막 코드를 채우기 위에서는 위의 func1 ~ fun4까지의 내용을 알아야 한다.

func1: num이 음수이면 0, 아니면 num

func2: num이 양수이면 0, 아니면 num

func3: station 리스트 내의 'Off'의 모든 개수

func4: station 리스트 내의 'On'의 모든 개수

위에서 느낌이 오듯이 func3, func4는 승객의 인원수를 확인위한 코드이고, func, func2는 최종 정답에 사용될 것 같은 함수이다.

먼저 버스 안에 남은 승객을 구하기 위해 func3, func4를 알맞은 위치에 넣어준다.

 

그리고 여기서 헷갈릴 수 있는 문제가 있는데, 정답은 0 이상의 양수이고, 남은 자리를 알려주어야 한다.

 

남은자리 = seat(총 좌석) - num_passenger(현재 승객의 수)

 

로 계산이 가능하다.

그리고 해당 값이 양수이면 그대로 반환, 음수이면 0을 반환한다. 즉 func1을 사용해야 한다.

 

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

 

통과!


링크 없음

반응형

'코딩 테스트 > 프로그래머스' 카테고리의 다른 글

심폐소생술  (0) 2024.10.25
각도 합치기  (0) 2024.10.21
지폐 접기  (0) 2024.10.14
물 부족  (0) 2024.10.11
연속된 부분 수열의 합  (0) 2024.09.13