728x90
https://www.acmicpc.net/problem/1547
[문제]
[코드]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int cup[] = {0,1,0,0};
int tmp = 0;
int M = sc.nextInt();
for(int i = 0; i < M; i++) {
int X = sc.nextInt();
int Y = sc.nextInt();
tmp = cup[X];
cup[X] = cup[Y];
cup[Y] = tmp;
}
for(int i = 0; i < cup.length; i++) {
if(cup[i] == 1)
System.out.println(i);
}
sc.close();
}
}
[설명]
1. 1번부터 3번까지의 컵이 있는데 다른 컵은 비어 있고 1번 컵에만 공이 있기 때문에 배열을 통해 1번 방에만 값을 넣어준다. (0번방은 의미가 없기 때문에 그냥 0을 넣어준다.)
2. 이따가 cup[X]와 cup[Y]의 값을 바꾸기 위해서 tmp라는 변수를 0으로 초기화 해 준다.
3. 컵의 위치를 바꾼 횟수를 알기 위해 M을 입력 받는다.
4. X, Y값을 컵의 위치를 바꾼 횟수 만큼 입력 받아야 하기때문에 for문을 이용해서 입력을 받는다.
5. 입력을 받은 후 tmp에 cup[X]의 값을 저장해 준다.
6. 그 후 cup[X] 방에 cup[Y]의 값을 넣어 준다.
7. cup[Y] 방에는 cup[X]의 값을 저장했던 tmp를 넣어준다.
8. for문을 빠져나와 공이 들어있는 컵의 번호를 알아야 하기 때문에 또 다른 for문을 사용한다.
9. for문은 컵의 길이만큼 돌아야 하며 1이 있으면 그 컵의 번호를 출력해야 하기 때문에 if문으로 안을 처리해 준다.
[결과]
728x90
'백준(Baekjoon)' 카테고리의 다른 글
[백준] 2576번: 홀수 - 자바 (0) | 2022.04.29 |
---|---|
[백준] 2010번: 플러그 - 자바 (0) | 2022.04.10 |
[백준] 1284번: 집 주소 - 자바 (0) | 2022.04.03 |
[백준] 2446번: 별 찍기 - 9 -자바 (0) | 2022.04.02 |
[백준] 2445번: 별 찍기 - 8 - 자바 (0) | 2022.04.01 |