์•Œ๊ณ ๋ฆฌ์ฆ˜/๊ตฌํ˜„

[๋ฐฑ์ค€ 24337 ๐Ÿฅ‡] ๊ฐ€ํฌ์™€ ํƒ‘

1eehyunji 2023. 8. 15. 23:35

๋ฌธ์ œ

์ผ์ง์„ ์œผ๋กœ ๋‹ค์–‘ํ•œ ๋†’์ด์˜ ๊ฑด๋ฌผ๋“ค์ด N๊ฐœ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€ํฌ๋Š” ๊ฑด๋ฌผ๋“ค์˜ ์™ผ์ชฝ์—, ๋‹จ๋น„๋Š” ๊ฑด๋ฌผ๋“ค์˜ ์˜ค๋ฅธ์ชฝ์— ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์ง์„  ์ƒ์— ๊ฐ€ํฌ์™€ ๋‹จ๋น„, ๊ฑด๋ฌผ๋“ค์€ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋ฐฐ์น˜๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€ํฌ์˜ ์˜ค๋ฅธ์ชฝ์—๋Š” 1๋ฒˆ ๊ฑด๋ฌผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • x๊ฐ€ 1์ด์ƒ N-1์ดํ•˜์˜ ์ •์ˆ˜์ผ ๋•Œ, x๋ฒˆ ๊ฑด๋ฌผ์˜ ์˜ค๋ฅธ์ชฝ์—๋Š” x+1๋ฒˆ ๊ฑด๋ฌผ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • N๋ฒˆ ๊ฑด๋ฌผ์˜ ์˜ค๋ฅธ์ชฝ์—๋Š” ๋‹จ๋น„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€ํฌ์™€ ๋‹จ๋น„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€ํฌ๋Š” 1๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • k๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ์™ผ์ชฝ์— ์žˆ๋Š” ๊ฑด๋ฌผ๋“ค์ด ๋ชจ๋‘ k๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ๋†’์ด๊ฐ€ ๋‚ฎ๋‹ค๋ฉด, ๊ฐ€ํฌ๋Š” k๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ๋น„๋Š” N๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • k๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๊ฑด๋ฌผ๋“ค์ด ๋ชจ๋‘ k๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ๋†’์ด๊ฐ€ ๋‚ฎ๋‹ค๋ฉด, ๋‹จ๋น„๋Š” k๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, N์ด 3์ด๊ณ , 1๋ฒˆ ๊ฑด๋ฌผ์˜ ๋†’์ด๊ฐ€ 1, 2๋ฒˆ ๊ฑด๋ฌผ์˜ ๋†’์ด๊ฐ€ 3, 3๋ฒˆ ๊ฑด๋ฌผ์˜ ๋†’์ด๊ฐ€ 2๋ผ๊ณ  ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€ํฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ๊ณผ ๋‹จ๋น„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ์ˆ˜๋Š” ๊ฐ๊ฐ 2๊ฐœ์ž…๋‹ˆ๋‹ค. ์ด๋ฅผ ๊ฐ๊ฐ ๋…ธ๋ž€์ƒ‰, ์—ฐ๋ณด๋ผ์ƒ‰์œผ๋กœ ํ‘œ์‹œํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ฐ€ํฌ๊ฐ€ 3๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” 3๋ฒˆ ๊ฑด๋ฌผ ์™ผ์ชฝ์— ์žˆ๋Š” 2๋ฒˆ ๊ฑด๋ฌผ์˜ ๋†’์ด๊ฐ€ 3๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ๋†’๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ , ๋‹จ๋น„๊ฐ€ 1๋ฒˆ ๊ฑด๋ฌผ์„ ๋ณผ ์ˆ˜ ์—†๋Š” ์ด์œ ๋Š” 1๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” 2๋ฒˆ ๊ฑด๋ฌผ๊ณผ 3๋ฒˆ ๊ฑด๋ฌผ์ด 1๋ฒˆ ๊ฑด๋ฌผ๋ณด๋‹ค ๋†’๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๊ฐ€ํฌ์™€ ๋‹จ๋น„ ์‚ฌ์ด์— ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ N๊ณผ ๊ฐ€ํฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ a, ๋‹จ๋น„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ b๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์‚ฌ์ „ ์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š” N๊ฐœ์˜ ๊ฑด๋ฌผ ๋†’์ด ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š”.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ N, ๊ฐ€ํฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ a, ๋‹จ๋น„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ b๊ฐ€ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.

์ถœ๋ ฅ

๋ฌธ์ œ์˜ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฑด๋ฌผ๋“ค์˜ ๋†’์ด ์ •๋ณด๊ฐ€ 1๊ฐœ ์ด์ƒ ์กด์žฌํ•˜๋Š” ๊ฒฝ์šฐ N๊ฐœ์˜ ๊ฑด๋ฌผ ๋†’์ด ์ •๋ณด ์ค‘ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„  ๊ฒƒ์„ ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š”. ์ถœ๋ ฅ ํ˜•์‹์€ ๋‹ค์Œ์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • 1๋ฒˆ ๊ฑด๋ฌผ, ... , N๋ฒˆ ๊ฑด๋ฌผ์˜ ๋†’์ด๋ฅผ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด์„œ ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š”. ์ถœ๋ ฅํ•˜๋Š” ์ˆ˜๋“ค์ด ๋ชจ๋‘ ๋‹ค๋ฅผ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
  • ๋†’์ด๋Š” 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ฌธ์ œ์˜ ์กฐ๊ฑด์— ๋งž๋Š” ๊ฑด๋ฌผ๋“ค์˜ ๋†’์ด ์ •๋ณด๊ฐ€ ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ฒซ ์ค„์— -1์„ ์ถœ๋ ฅํ•ด ์ฃผ์„ธ์š”.

๋ฌธ์ œํ’€์ด

import sys

n,a,b=map(int, sys.stdin.readline().split(' '))
# ๊ฑด๋ฌผ์˜ ์ตœ๊ณ  ๋†’์ด๋Š” max(a,b)
maxheight=max(a,b)
# a-1๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ + ์ตœ๊ณ  ๊ฑด๋ฌผ ๋†’์ด + b-1๋ถ€ํ„ฐ ๋‚ด๋ฆผ์ฐจ์ˆœ
buildings=list(range(1,a))+[maxheight]+list(range(b-1,0,-1))

# ๋งŒ๋“ค์–ด์ง„ ๊ฑด๋ฌผ๋“ค์˜ ๊ฐœ์ˆ˜๊ฐ€ n๋ณด๋‹ค ํฌ๋‹ค๋ฉด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ
if len(buildings)>n:
    print(-1)
    sys.exit(0)

# n๋ณด๋‹ค ์ž‘๋‹ค๋ฉด ๊ฐ€ํฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜๋ฅผ ์œ„๋ฐ˜ํ•˜์ง€ ์•Š์œผ๋ฉด์„œ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์ชฝ์— ์œ„์น˜ํ•œ ๊ฑด๋ฌผ ๋ฐฐ์—ด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ
# 1์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ์™ผ์ชฝ์— ๋„ฃ์–ด์ค€๋‹ค
# ๋ฐ˜๋ก€ : 3 1 2
while len(buildings)<n:
    buildings.insert(1,1)

for b in range(n):
    print(buildings[b], end=' ')

ํ•ด๊ฒฐ ์•„์ด๋””์–ด๋งŒ ๋„์ถœํ•˜๋ฉด ๊ตฌํ˜„์€ ๋งค์šฐ ์‰ฌ์šด ๋ฌธ์ œ๋‹ค!

  • ๋จผ์ €, ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ n๊ฐœ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ์€ ๋ฐฐ์ œํ•˜๊ณ  ์ƒ๊ฐํ•œ ์ƒํƒœ๋กœ, ๊ฐ€ํฌ๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜๊ฐ€ a๊ฐœ, ๋‹จ๋น„๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜๊ฐ€ b๊ฐœ์ธ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์ชฝ์— ์œ„์น˜ํ•˜๋Š” ์ˆ˜์—ด์„ ๋งŒ๋“ค์–ด๋ณด์ž
  • a์™€ b ์ค‘ ๋” ๋†’์€ ์ˆ˜๊ฐ€ ์ตœ๊ณ  ๊ฑด๋ฌผ ๋†’์ด๊ฐ€ ๋˜๊ณ , ์ตœ๊ณ  ๊ฑด๋ฌผ ๋†’์ด ์™ผ์ชฝ์œผ๋กœ๋Š” 1๋ถ€ํ„ฐ a-1๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ์ธ ๋ฐฐ์—ด, ์˜ค๋ฅธ์ชฝ์œผ๋กœ๋Š” b-1๋ถ€ํ„ฐ 1๊นŒ์ง€ ๋‚ด๋ฆผ์ฐจ์ˆœ์ธ ๋ฐฐ์—ด์ด ์œ„์น˜ํ•˜๋ฉด a,b๋ฅผ ๋งŒ์กฑํ•˜๋Š” ์ˆ˜์—ด์ด ๋งŒ๋“ค์–ด์ง„๋‹ค.
  • = [1๋ถ€ํ„ฐ a-1๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ ๋ฐฐ์—ด] + [์ตœ๊ณ  ๊ฑด๋ฌผ ๋†’์ด] + [b-1๋ถ€ํ„ฐ 1๊นŒ์ง€ ๋‚ด๋ฆผ์ฐจ์ˆœ์ธ ๋ฐฐ์—ด]
  • ์œ„ ๋ฐฉ์‹๋Œ€๋กœ ์ˆ˜์—ด์„ ๋งŒ๋“ค์–ด๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  • ์ด์ œ a์™€ b์˜ ๊ฐœ์ˆ˜๋ฅผ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ฑด๋ฌผ์˜ ๊ฐœ์ˆ˜ n๋„ ๋งŒ์กฑํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?
  • ์šฐ์„  ์œ„ ๊ณผ์ •์„ ๊ฑฐ์ณ ๋งŒ๋“ค์–ด์ง„ ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ n๋ณด๋‹ค ํฌ๋‹ค๋ฉด, ๊ทธ ๊ฐ’์€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฐ’์ด๋ฏ€๋กœ -1์„ ์ถœ๋ ฅํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์ข…๋ฃŒํ•œ๋‹ค.
  • ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ n๋ณด๋‹ค ์ž‘์„ ๊ฒฝ์šฐ, a,b๊ฐ’์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์ชฝ์— ์œ„์น˜ํ•˜๋ ค๋ฉด ๋งจ ์™ผ์ชฝ ๊ธฐ์ค€ ์˜ค๋ฅธ์ชฝ์— ๊ฐ€์žฅ ์ž‘์€ ๋†’์ด ๊ฐ’์ธ 1์„ ์ˆ˜์—ด์˜ ๊ธธ์ด๊ฐ€ n์ด ๋  ๋•Œ๊นŒ์ง€ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.