C언어/백준
1574: 공
road23
2022. 8. 2. 01:15
브론즈 3
https://www.acmicpc.net/problem/1547
-결과
-코드
#include <stdio.h>
int main(){
int arr[3]={1,2,3};
int n,a,a1,b,b1,temp;
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d %d",&a,&b);
if(a==b)
continue;
else{
for(int k=0;k<3;k++){
if(arr[k] == a)
a1 = k;
else if(arr[k] == b)
b1 = k;
else{}
}
temp = arr[a1];
arr[a1] = arr[b1];
arr[b1] = temp;
}
}
printf("%d",arr[0]);
return 0;
}
-풀이
먼저 기존의 배열인 arr을 선언한다.
if-else문을 이용해서 자리를 바꾸는 컵의 위치 a, b를 입력받는데, 만약 입력받는 컵의 위치가 같다면 continue를 한다.
그리고 입력받은 컵의 위치 a가 있는 배열 arr을 a1이라 고 선언하고, 다른 컵의 위치 b가 있는 배열 arr을 b1이라고 선언한다.
그리고 변수 temp와 배열을 이용해서 두 컵의 자리를(위치) 바꾼다.