[Baekjoon] 10811-๐Ÿงฐ๋ฐ”๊ตฌ๋‹ˆ ๋’ค์ง‘๊ธฐ

Chobbyยท2023๋…„ 9์›” 15์ผ
1

Baekjoon

๋ชฉ๋ก ๋ณด๊ธฐ
12/108

๐Ÿ˜€๋ฌธ์ œ

๋„ํ˜„์ด๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์ด N๊ฐœ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ๊ฐ๊ฐ์˜ ๋ฐ”๊ตฌ๋‹ˆ์—๋Š” 1๋ฒˆ๋ถ€ํ„ฐ N๋ฒˆ๊นŒ์ง€ ๋ฒˆํ˜ธ๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์ ํ˜€์ ธ ์žˆ๋‹ค. ๋ฐ”๊ตฌ๋‹ˆ๋Š” ์ผ๋ ฌ๋กœ ๋†“์—ฌ์ ธ ์žˆ๊ณ , ๊ฐ€์žฅ ์™ผ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ 1๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ, ๊ทธ ๋‹ค์Œ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ 2๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ, ..., ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ N๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค.

๋„ํ˜„์ด๋Š” ์•ž์œผ๋กœ M๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. ๋„ํ˜„์ด๋Š” ํ•œ ๋ฒˆ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ฐ”๊ฟ€ ๋•Œ, ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ค ๋ฒ”์œ„๋ฅผ ์ •ํ•˜๊ณ , ๊ทธ ๋ฒ”์œ„์— ๋“ค์–ด์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค.

๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ”๊ฟ€์ง€ ์ฃผ์–ด์กŒ์„ ๋•Œ, M๋ฒˆ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“  ๋‹ค์Œ, ๋ฐ”๊ตฌ๋‹ˆ์— ์ ํ˜€์žˆ๋Š” ๋ฒˆํ˜ธ๋ฅผ ๊ฐ€์žฅ ์™ผ์ชฝ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.


๐Ÿ˜์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N (1 โ‰ค N โ‰ค 100)๊ณผ M (1 โ‰ค M โ‰ค 100)์ด ์ฃผ์–ด์ง„๋‹ค.

๋‘˜์งธ ์ค„๋ถ€ํ„ฐ M๊ฐœ์˜ ์ค„์—๋Š” ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฐฉ๋ฒ•์€ i j๋กœ ๋‚˜ํƒ€๋‚ด๊ณ , ์™ผ์ชฝ์œผ๋กœ๋ถ€ํ„ฐ i๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ j๋ฒˆ์งธ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋งŒ๋“ ๋‹ค๋Š” ๋œป์ด๋‹ค. (1 โ‰ค i โ‰ค j โ‰ค N)

๋„ํ˜„์ด๋Š” ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ๋‹ค.


๐Ÿ˜‚์ถœ๋ ฅ

๋ชจ๋“  ์ˆœ์„œ๋ฅผ ๋ฐ”๊พผ ๋‹ค์Œ์—, ๊ฐ€์žฅ ์™ผ์ชฝ์— ์žˆ๋Š” ๋ฐ”๊ตฌ๋‹ˆ๋ถ€ํ„ฐ ๋ฐ”๊ตฌ๋‹ˆ์— ์ ํ˜€์žˆ๋Š” ์ˆœ์„œ๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.


๐Ÿคฃ์˜ˆ์ œ

์˜ˆ์ œ ์ž…๋ ฅ 1

5 4
1 2
3 4
1 4
2 2

์˜ˆ์ œ ์ถœ๋ ฅ 1

  • 3 4 1 2 5

๐Ÿ˜ƒ์ถœ์ฒ˜

  • ๋ฌธ์ œ๋ฅผ ๋งŒ๋“  ์‚ฌ๋žŒ: baekjoon

๐Ÿ˜„์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜

  • ๊ตฌํ˜„
  • ์‹œ๋ฎฌ๋ ˆ์ด์…˜

๐Ÿ˜Ž๋‚˜์˜ ํ’€์ด

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')
const [N, M] = input.shift().split(" ").map(a => Number(a))
const result = Array.from({length: N}, (_, i) => i + 1)
input.forEach(item => {
    const [from, to] = item.split(" ").map(a => Number(a))
    result.splice(from - 1, to - from + 1, ...result.slice(from - 1, to).reverse())
})

console.log(result.join(" "))
profile
๋‚ด ์ง€์‹์„ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€๋‹ดํ•จ

0๊ฐœ์˜ ๋Œ“๊ธ€