1574: 공
2022. 8. 2. 01:15ㆍC언어/백준
브론즈 3
https://www.acmicpc.net/problem/1547
1547번: 공
첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것
www.acmicpc.net
-결과
-코드
#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와 배열을 이용해서 두 컵의 자리를(위치) 바꾼다.
'C언어 > 백준' 카테고리의 다른 글
2443: 별 찍기 - 6 (0) | 2022.08.17 |
---|---|
2444: 별 찍기 - 7 (0) | 2022.08.13 |
1284: 집 주소 (0) | 2022.08.02 |
1267: 핸드폰 요금 (0) | 2022.07.25 |
1145: 적어도 대부분의 배수 (0) | 2022.07.25 |