Search

배열6_개념07_예매하기

대분류
STEP05 배열
소분류
배열6_개념

영상

문제

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
복사