1. 문제 풀이 아이디어
- 문제에서 제공된 메서드들을 활용하여 해결할 수 있다.
2. 나의 정답 코드
class Solution {
public int solution(int seat, String[][] passengers) {
int num_passenger = 0;
for (int i = 0; i < passengers.length; i++) {
num_passenger += func4(passengers[i]);
num_passenger -= func3(passengers[i]);
}
int answer = func1(seat - num_passenger);
return answer;
}
public int func1(int num) {
if (0 > num) {
return 0;
} else {
return num;
}
}
public int func2(int num) {
if (num > 0) {
return 0;
} else {
return num;
}
}
public int func3(String[] station) {
int num = 0;
for (int i = 0; i < station.length; i++) {
if (station[i].equals("Off")) {
num += 1;
}
}
return num;
}
public int func4(String[] station) {
int num = 0;
for (int i = 0; i < station.length; i++) {
if (station[i].equals("On")) {
num += 1;
}
}
return num;
}
}
3. 정리
- 현재 탑승 중인 승객 수를 계산하기 위해
passengers
배열을 순회하며func4
메서드로 탑승 승객 수를 더하고,func3
메서드로 하차 승객 수를 뺀다.
- 반복문 종료 후
func1
메서드를 사용해 남은 좌석 수를 계산한다.
- 좌석 수가 음수일 경우 0을 반환하며, 그렇지 않으면 계산된 좌석 수를 반환한다.
Share article