Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- two pointers
- string
- simulation
- Method
- Binary Search
- Tree
- dynamic programming
- sorting
- array
- hash table
- database
- greedy
- Math
- 코딩테스트
- geometry
- Matrix
- 코테
- SQL
- 자바
- Binary Tree
- Class
- Number Theory
- Counting
- 구현
- java
- bit manipulation
- 파이썬
- implement
- Stack
- Data Structure
Archives
- Today
- Total
코린이의 소소한 공부노트
[백준 온라인 저지] 10812. 바구니 순서 바꾸기 본문
도현이는 바구니는 총 N개 갖고 있고, 가장 왼쪽부터 1번 바구니이다.
- 입력: 첫째 줄에 N (1 ≤ N ≤ 100)과 M (1 ≤ M ≤ 100)이 주어진다. 둘째 줄부터 M개의 줄에는 바구니의 순서를 바꾸는 만드는 방법이 주어진다. 방법은 i, j, k로 나타내고, 왼쪽으로부터 i번째 바구니부터 j번째 바구니의 순서를 회전시키는데, 그 때 기준 바구니는 k번째 바구니라는 뜻이다. (1 ≤ i ≤ k ≤ j ≤ N) 예를 들어 1번부터 6번까지 바구니를 회전시키려고 하고, 기준이 3번이라면 1,2,3,4,5,6이 3,4,5,6,1,2로 바뀌게 된다. 도현이는 입력으로 주어진 순서대로 바구니의 순서를 회전시킨다.
- 출력: 모든 순서를 회전시킨 다음에, 가장 왼쪽에 있는 바구니부터 바구니에 적혀있는 순서를 공백으로 구분해 출력한다.
import java.io.*;
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));
String[] condition = br.readLine().split(" ");
int n = Integer.valueOf(condition[0]), m = Integer.valueOf(condition[1]);
int[] basket = new int[n];
for(int i=0 ; i<n ; i++)
basket[i] = i+1;
while(m>0){
String[] input = br.readLine().split(" ");
int i = Integer.valueOf(input[0]), j = Integer.valueOf(input[1]), k = Integer.valueOf(input[2]);
int[] tmp = new int[k-i];
for(int a=i-1, b=0 ; a<k-1 ; a++, b++)
tmp[b] = basket[a];
for(int a=k-1, b=i-1 ; a<=j-1 ; a++, b++)
basket[b] = basket[a];
for(int a=i+j-k, b=0 ; b<tmp.length ; a++, b++)
basket[a] = tmp[b];
m--;
}
for(int i=0; i<basket.length; i++)
bw.write(basket[i] + " ");
bw.flush();
bw.close();
}
}
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[백준 온라인 저지] 2566. 최댓값 (0) | 2023.03.21 |
---|---|
[백준 온라인 저지] 2738. 행렬 덧셈 (0) | 2023.03.21 |
[LeetCode/Easy] 2595. Number of Even and Odd Bits (0) | 2023.03.19 |
[LeetCode/Medium] 2596. Check Knight Tour Configuration (0) | 2023.03.19 |
[LeetCode/Easy] 717. 1-bit and 2-bit Characters (0) | 2023.03.19 |