[백준] 10813번: 공 바꾸기 - JAVA

2024. 9. 16. 02:44·알고리즘

[작성일: 2023. 08. 24]

 

https://www.acmicpc.net/problem/10813

 

 

풀이

 

import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
int n = Integer.valueOf(st.nextToken()); // 바구니의 수
int m = Integer.valueOf(st.nextToken()); // 공을 바꿀 횟수
int[] basket = new int[n];
for (int i = 0; i < n; i++) {
basket[i] = i + 1;
}
for (int j = 0; j < m; j++) {
StringTokenizer input = new StringTokenizer(br.readLine());
int start = Integer.valueOf(input.nextToken());
int end = Integer.valueOf(input.nextToken());
int tmp = basket[start - 1];
basket[start - 1] = basket[end - 1];
basket[end - 1] = tmp;
}
for (int k = 0; k < n; k++) {
bw.write(basket[k] + " ");
}
br.close();
bw.flush(); // 버퍼에 남아있는 데이터 모두 출력
bw.close();
}
}

 

10810번 공 넣기의 심화문제로 10810번은 그냥 같은 공을 넣는 문제였다면 이번에는 공을 바꾸는 문제이다.

현재 바구니에는 바구니의 번호와 같은 공 번호가 들어있다고 했으니 바구니 상태는 [ 1 2 3 4 5 ] 가 된다.

 

그 다음 몇 번 바구니들끼리 공을 바꿀 것인지 입력을 받으면 되는데  start 바구니와 end 바구니를 선언하고 tmp라는 임시 변수도 선언해준다.

 

5번과 4번 바구니의 공을 바꿀 때 5번 바구니(basket[4])의 값을 tmp에 옮겨두고, 그 후에 basket[4]에 4번 바구니(basket[3])의 값을 대입해야 한다. 그 다음 basket[3]에 tmp에 있던 값을 넣어주면 공의 위치가 바뀐다. 

 

저작자표시 비영리 변경금지
'알고리즘' 카테고리의 다른 글
  • [백준] 2908번: 상수 - JAVA
  • [백준] 10811번: 바구니 뒤집기 - JAVA
  • [백준] 10810번: 공 넣기 - JAVA
  • [백준] 10951번: A+B(4) - JAVA
뚜비
뚜비
1년차 백엔드&iOS 개발자의 감자 탈출 블로그 🥔🥔
  • 뚜비
    뚜비의 개발로그
    뚜비
  • 전체
    오늘
    어제
  • 글쓰기     관리
    • Devlog
      • Back-End
        • Java
        • Spring
        • JPA
        • HTTP
        • Security
        • Back-End
        • Front-End
      • 알고리즘
      • iOS
        • Swift
      • Database
      • Tips
        • Git & GitHub
        • A to Z
      • 프로젝트
      • 생각정리
  • 태그

    javascript
    Security
    DB
    자바스크립트
    jsp
    JPA
    변수
    데이터베이스
    html
    성능최적화
    생성자
    spring
    HTTP
    다형성
    Database
    객체
    스프링
    알고리즘
    게시판만들기
    sql
    Spring Security
    김영한
    프로그래머스
    Swift
    최주호
    자바
    백준
    의존성주입
    Java
    MVC
  • hELLO· Designed By정상우.v4.10.0
뚜비
[백준] 10813번: 공 바꾸기 - JAVA
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.