영상
문제
package 배열6_개념;
/*
[문제]
1. seatList는 현재 영화관 예매상황이다.
2. seatIndex는 예매하려는 좌석 번호이다.
3. userList는 회원번호이다.
4. seatIndex와 userList를 가지고 예매 후, 전체 예매상황을 출력하시오.
5. 좌석이 비어있으면, 예매할 수 있다.
6. 좌석이 이미 예매 되어있으면 아래 두 가지 조건 중 한 가지를 실행시켜야 한다.
1) 이미 예매되어있으나, 회원번호가 같으면 예매를 취소하고 0으로 변경한다.
2) 이미 예매되어있고, 회원번호가 다르면 "x"를 출력한다.
예) 1 , 1003 ==> 예매 되어있으나, 1003번이 예매했으므로 예매 취소된다
==> seatList[] = {1003,0,0,0,1002,0,1001}
예) 1 , 1002 ==> 위에서 예매취소했으므로 예매 가능
==> seatList[] = {1003,1002,0,0,1002,0,1001}
예) 4 , 1005 ==> 예매 되어있고, 회원번호도 다르다
==> "x"
*/
public class 배열6_개념07_예매하기_문제 {
public static void main(String[] args) {
int[] seatList = {1003,1003,0,0,1002,0,1001};
int[] seatIndex = {1,1,4};
int[] userList = {1003,1002,1005};
}
}
Java
복사
해설
package 배열6_개념;
import java.util.Arrays;
/*
[문제]
1. seatList는 현재 영화관 예매상황이다.
2. seatIndex는 예매하려는 좌석 번호이다.
3. userList는 회원번호이다.
4. seatIndex와 userList를 가지고 예매 후, 전체 예매상황을 출력하시오.
5. 좌석이 비어있으면, 예매할 수 있다.
6. 좌석이 이미 예매 되어있으면 아래 두 가지 조건 중 한 가지를 실행시켜야 한다.
1) 이미 예매되어있으나, 회원번호가 같으면 예매를 취소하고 0으로 변경한다.
2) 이미 예매되어있고, 회원번호가 다르면 "x"를 출력한다.
예) 1 , 1003 ==> 예매 되어있으나, 1003번이 예매했으므로 예매 취소된다
==> seatList[] = {1003,0,0,0,1002,0,1001}
예) 1 , 1002 ==> 위에서 예매취소했으므로 예매 가능
==> seatList[] = {1003,1002,0,0,1002,0,1001}
예) 4 , 1005 ==> 예매 되어있고, 회원번호도 다르다
==> "x"
*/
public class 배열6_개념07_예매하기_정답 {
public static void main(String[] args) {
int[] seatList = {1003,1003,0,0,1002,0,1001};
int[] seatIndex = {1,1,4};
int[] userList = {1003,1002,1005};
for(int i=0; i<seatIndex.length; i++) {
System.out.print(seatIndex[i] + ", " + userList[i] + " ===> ");
// 좌석이 비어있으면, 예매 가능
if(seatList[seatIndex[i]] == 0) {
seatList[seatIndex[i]] = userList[i];
System.out.println(Arrays.toString(seatList));
}
// 예매 번호가 같으면, 취소
else if(seatList[seatIndex[i]] == userList[i]) {
seatList[seatIndex[i]] = 0;
System.out.println(Arrays.toString(seatList));
}
// 이미 예매 완료
else {
System.out.println("X");
}
}
}
}
Java
복사