[알고리즘] 백준 10813 공 바꾸기 - C

POBSIZ (POBSIZ)·2023년 3월 20일
0

알고리즘

목록 보기
4/11
post-custom-banner

문제 바로가기 >

설명 & 입력

코드

#include <stdio.h>

int main() {
	/* 
    	n = 공의 개수
        m = 공 바꾸는 횟수
        a = 바꿀 바구니 1
        b = 바꿀 바구니 2
        t = 바구니 임시 저장 변수
        e = 바구니 배열
    */
    int n, m, a, b, t, e[100];
    
    // 공의 개수와 공을 바꾸는 횟수를 입력받는다.
    scanf("%d %d", &n, &m);
    
    // 바구니 배열에 n개 만큼의 공을 넣는다.
    for(int i=0; i<n; i++) e[i] = i+1;
    
    // m번 공을 바꾼다.
    for(int i=0; i<m; i++) {
    	// 바꿀 바구니 2개를 입력받는다.
        scanf("%d %d", &a, &b);
        
        // 바꿀 바구니 1을 t에 저장한다.
        t = e[a-1];
        
        // 바꿀 바구니 1을 바꿀 바구니 2와 바꾼다.
        e[a-1] = e[b-1];
        
        // 바꿀 바구니 2를 저장해둔 t(바구니 1)와 바꾼다.
        e[b-1] = t;
    }
    
    // 바뀐 바구니들의 순서에 맞게 공들을 출력한다.
    for(int i=0; i<n; i++) printf("%d ", e[i]);
    
    return 0;
}

마무리

이 문제는 바구니 안에 있는 공들을 바꿀때 잠시 저장 해두는 부분을 주의하여 풀어야 할 것이다.

post-custom-banner

0개의 댓글