Publish:

ํƒœ๊ทธ:

์นดํ…Œ๊ณ ๋ฆฌ:

๋ฌธ์ œ

๋ฌธ์ œ๋งํฌ

์†Œ์Šค ์ฝ”๋“œ

๋ฌธ์ œ์˜ ํ•ต์‹ฌ์€ ๋ฐฐ์—ด์˜ ๊ตฌ๊ฐ„์„ ๋ฐ˜๋Œ€๋กœ ๋’ค์ง‘๋Š” ๋ถ€๋ถ„์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ๋“ค์–ด 1 ~ 4 ๊ตฌ๊ฐ„์„ ๋’ค์ง‘์œผ๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  4 index -> 1 index
  3 index -> 2 index
  2 index -> 3 index
  1 index -> 4 index

ํ™€์ˆ˜ ๊ฐœ์˜ ๋ฐฐ์—ด์ธ ๊ฒฝ์šฐ

  5 index -> 1 index
  4 index -> 2 index
  3 index -> 3 index
  2 index -> 4 index
  1 index -> 5 index

์ฒ˜์Œ์— ์ €๋ ‡๊ฒŒ ์ˆซ์ž๋กœ๋งŒ ์“ฐ๋ฉด์„œ ํŒจํ„ด์„ ์ฐพ์œผ๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ทœ์น™์ด ์ž˜ ์•ˆ๋ณด์—ฌ์„œ ๊ทธ๋ฆผ์„ ๊ทธ๋ ค๋ดค๋‹ค.

๋ฐฐ์—ด ๋’ค์ง‘๊ธฐ

์›๋ณธ ๋ฐฐ์—ด์—์„œ ๋’ค์ง‘๊ณ  ์‹ถ์€ ๋ถ€๋ถ„๋งŒ ์ž„์‹œ ๋ฐฐ์—ด์— ์ €์žฅํ•ด ๋‘” ๋‹ค์Œ ๋‹ค์‹œ ์›๋ณธ ๋ฐฐ์—ด์— ๋ฎ์–ด์“ฐ๋Š” ํ˜•์‹์œผ๋กœ ํ’€์—ˆ๋‹ค. ๊ทธ๋ฆผ์œผ๋กœ ๋ณด๋ฉด ๊ฒฐ๊ตญ ๋งจ๋’ค์™€ ๋งจ ์•ž์˜ ์œ„์น˜๋ฅผ ๊ณ„์†ํ•ด์„œ ๋ฐ”๊ฟ”์ฃผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋ฌธ์ œ์—์„œ i ๊ฐ€ ๋งจ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค์ด๊ณ , j๊ฐ€ ๋งจ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐ๊ตญ arr[i] = arr[j] ์™€ ๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์ด์ œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋งŒ ์ž‘์„ฑํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.

1
2
3
  for (int c = 0; c <= T; c++, j--, i++) {
    tmpArr[i] = arr[j];
  }

์ด๋•Œ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋Š” 1 4๊ฐ€ ์ž…๋ ฅ๋˜๋Š” ๊ฒฝ์šฐ 4๊ฐ€ ๋œ๋‹ค. ์ฆ‰ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋Š” ์ž…๋ ฅ์—์„œ ์•Œ ์ˆ˜ ์žˆ๊ณ , ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋งŒ ์กฐ์ ˆํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. ๊ทธ๋ฆผ์ฒ˜๋Ÿผ i ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค๋Š” 1์”ฉ ์ฆ๊ฐ€ํ•˜๊ณ  j ์—์„œ ์‹œ์ž‘ํ•˜๋Š” ์ธ๋ฑ์Šค๋Š” 1์”ฉ ๊ฐ์†Œํ•˜๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
public class Boj_10811 {

      static FastReader scan = new FastReader();
      static StringBuilder sb = new StringBuilder();

      public static void main(String[] args) {
          input();
      }
      static void input(){
        int n = scan.nextInt();
        int m = scan.nextInt();

        int[] arr = new int[n + 1];

        for (int k = 1; k <= n; k++) {
          arr[k] = k;
        }

        for (int z = 0; z < m; z++) {
          int i = scan.nextInt();
          int j = scan.nextInt();
          int T = j-i;
          int[] tmpArr = new int[arr.length];

          for (int c = 0; c <= T; c++, j--, i++) {
            tmpArr[i] = arr[j];
          }

          for (int k = 0; k < tmpArr.length; k++) {
            if (tmpArr[k] != 0) {
              arr[k] = tmpArr[k];
            }
          }

        }

        System.out.println(Arrays.toString(arr).replace("[","").replace("]","").replace(",","").substring(2));
      }

      static class FastReader {
          BufferedReader br;
          StringTokenizer st;
          public FastReader() {
              br = new BufferedReader(new InputStreamReader(System.in));
          }
          public FastReader(String s) throws FileNotFoundException {
              br = new BufferedReader(new FileReader(new File(s)));
          }
          String next() {
              while (st == null || !st.hasMoreElements()) {
                  try {
                      st = new StringTokenizer(br.readLine());
                  } catch (IOException e) {
                      e.printStackTrace();
                  }
              }
              return st.nextToken();
          }
          int nextInt() {
              return Integer.parseInt(next());
          }
          long nextLong() {
              return Long.parseLong(next());
          }
          double nextDouble() {
              return Double.parseDouble(next());
          }
          String nextLine() {
              String str = "";
              try {
                  str = br.readLine();
              } catch (IOException e) {
                  e.printStackTrace();
              }
              return str;
          }
      }
}
๋ฐฉ๋ฌธํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋Œ“๊ธ€,์ง€์ ,ํ”ผ๋“œ๋ฐฑ ์–ธ์ œ๋‚˜ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค๐Ÿ˜Š

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ