Skip to main content

[Java] 340201 PCCE 7번 / 버스


1. 문제

프로그래머스 [Java] [PCCE 기출문제] 7번 / 버스

image.png

image.png

image.png


2. 정답 코드

image.png

image.png

image.png

메서드별 역할

1. solution(int seat, String[][] passengers)

  • 입력
    • seat : 전체 좌석 수
    • passengers : 각 정거장에서의 승객 상태를 나타내는 2차원 배열
      • "On" - 탑승
      • "Off" - 하차
      • "-" - 변화 없음
  • 동작
    • num_passenger 이라는 변수를 만들어서 현재까지의 탑승자 수를 누적 계산하려고 함
    • 각 정거장을 돌면서 func4(탑승자 수 카운트)를 더하고, func3(하차자 수 카운트)를 뺌
    • 최종적으로 func1(seat - num_passenger)로 총 좌석 수에서 현재 앉아 있는 인원 수를 뺀 나머지 좌석 수 계산
      • 음수면 0 보정

2. func1(int num)

  • 기능 : 숫자가 0보다 작으면 0을 반환, 아니면 그대로 반환한다.
  • 남은 좌석 수가 음수면 0으로 보정하는 목적이다.

3. func2(int num)

  • 기능 : 숫자가 0보다 크면 0을 반환, 아니면 그대로 반환
  • 이건 문제에서 쓰이지 않는 메서드이다.

4. func3(String[] station)

  • 기능 : 해당 정거장에서 "Off" 가 몇 번 나왔는지 카운트해서 반환
  • 이 정거장에서 하차한 사람 처리하는 메서드

5. func4(String[] station)

  • 기능 : 해당 정거장에서 "On"이 몇 번 나왔는지 카운트해서 반환
  • 이 정거장에서 탑승한 사람 처리용 메서드