[백준(BOJ)] 공 바꾸기 | 10813번 문제 풀이 (브론즈2, C언어)

2024. 7. 8. 15:05·개인공부/백준
  • 출처: https://www.acmicpc.net/problem/10813

1. 문제

2. 풀이

먼저 N개의 바구니를 만들어야하므로 동적메모리 할당을 이용한다

동적메모리 할당을 이용할 때에는 stdlib.h 라이브러리를 포함해야한다

이후에는 malloc을 사용해 동적메모리 할당을 진행한다.

 

공의 번호를 매길 때에는 공의 번호가 1부터 시작한다는 것에 유의하여 매겨야 한다

따라서 array[k] = k+1, k가 0부터 시작하므로 k+1로 바꿔주어야한다

 

공을 교환할 때는 tmp(빈 통)을 활용해 교환한다

이 때 우리가 입력하는 통의 번호 1번 2번은 실제 배열보다 1많은 숫자기 때문에(배열은 0부터시작)

바꿀 때에도 j-1 또는 i-1로 입력해주어야한다

3. 코드

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(void) {
    int N, M, i, j, tmp;
    scanf("%d %d", &N, &M);

    int* array = (int*)malloc(sizeof(int) * N);

    //공의 번호를 매김
    for (int k = 0; k < N; k++) {
        array[k] = k+1;
    }

    //공을 교환
    for (int k = 0; k < M; k++) {
        scanf("%d %d", &i, &j);
        tmp = array[j-1];
        array[j-1] = array[i-1];
        array[i-1] = tmp;
    }

    for (int k = 0; k < N; k++) {
        printf("%d ", array[k]);
    }

    return 0;
}

 

4. 참고

'개인공부 > 백준' 카테고리의 다른 글

[백준(BOJ)] 알파벳 찾기 | 10809번 문제 풀이 (브론즈2, C언어)  (1) 2024.07.07
[백준(BOJ)] 단어의 개수 | 1152번 문제 풀이 (브론즈2, C언어)  (1) 2024.07.02
복습 [백준(BOJ)] 숫자의 합 | 11720번 문제 풀이 (브론즈4, C언어)  (1) 2024.07.01
복습 [백준(BOJ)] 그대로 출력하기 | 11718번 문제 풀이 (브론즈3, C언어)  (0) 2024.06.30
[백준(BOJ)] 학점계산 | 2754번 문제 풀이 (브론즈5, C언어)  (1) 2024.06.30
'개인공부/백준' 카테고리의 다른 글
  • [백준(BOJ)] 알파벳 찾기 | 10809번 문제 풀이 (브론즈2, C언어)
  • [백준(BOJ)] 단어의 개수 | 1152번 문제 풀이 (브론즈2, C언어)
  • 복습 [백준(BOJ)] 숫자의 합 | 11720번 문제 풀이 (브론즈4, C언어)
  • 복습 [백준(BOJ)] 그대로 출력하기 | 11718번 문제 풀이 (브론즈3, C언어)
피까츄
피까츄
프로그래밍 마스터가 될테야
  • 피까츄
    프로그래밍 마스터
    피까츄
  • 전체
    오늘
    어제
    • 분류 전체보기 (62) N
      • 컴퓨터가 이상해요 모음집 (3)
      • 프로그래밍 (0)
      • 회고 (0)
      • 1학년 (21)
        • 명품 HTML+CSS+JS (10)
        • 쉽게 배우는 C언어 Express (2)
        • R언어 (9)
      • 2학년 (3)
        • C언어로 쉽게 풀어쓴 자료구조 (1)
        • 프로그래밍 언어론 (2)
      • 개인공부 (22) N
        • 백준 (17)
        • 코드트리 JS (5) N
      • 교재 (9)
        • 이것이 C++이다 (0)
        • 이것이 JAVA다 (0)
        • 혼자 공부하는 컴퓨터구조 + 운영체제 (1)
        • 혼자 공부하는 데이터통신 (0)
        • 코어 자바스크립트 (8)
      • 유데미 (3)
        • 100일 코딩 챌린지 (3)
  • 블로그 메뉴

    • 방명록
    • 그림블로그
    • 3D 블로그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    복습
    HTML5+CSS3+Javascript 웹 프로그래밍 #연습문제 #이론문제 #실습문제 #풀이 #정답
    js #자바스크립트_기초
    우분투C
    0x80370102오류코드
    우분투 설치 오류
    프로그래밍언어론
    우분투java
    가상현실 설정
    the package javax.swing is not accessible
    작업표시줄클릭안됨
    윈도우 기능 켜기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
피까츄
[백준(BOJ)] 공 바꾸기 | 10813번 문제 풀이 (브론즈2, C언어)
상단으로

티스토리툴바