[BOJ] 10994. ๋ณ„ ์ฐ๊ธฐ - 19 (๐Ÿฅˆ, ๊ตฌํ˜„)

lemythe423ยท2023๋…„ 6์›” 14์ผ
0

BOJ ๋ฌธ์ œํ’€์ด

๋ชฉ๋ก ๋ณด๊ธฐ
31/133
post-thumbnail

๋ฌธ์ œ

ํ’€์ด

๋”ฑ ๋ด๋„ ๋ญ”๊ฐ€ ๋ฐ˜๋ณต๋˜๋Š” ๋Š๋‚Œ์ด๋‹ค
๊ทธ๋ ‡๊ฒŒ ์•ˆ ๋ณด์ด์ง€๋งŒ ๊ทธ๋ฆผ์˜ ์‚ฌ๊ฐํ˜•์€ ์ „๋ถ€๋‹ค ์ •์‚ฌ๊ฐํ˜•์ด๋‹ค. ํ•œ ๋ณ€์˜ ๊ธธ์ด์™€ ์‹œ์ž‘๋˜๋Š” ์œ„์น˜๋งŒ ์•ˆ๋‹ค๋ฉด ์žฌ๊ท€๋“  ๋ฐ˜๋ณต๋ฌธ์ด๋“  ์‚ฌ์šฉํ•ด์„œ ์ฐ์–ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค

๋ฌธ์ œ๋Š” ์•ˆ์—์„œ๋ถ€ํ„ฐ ๋ฐ–์œผ๋กœ ๋‚˜๊ฐ€๋Š๋ƒ, ๋ฐ–์—์„œ๋ถ€ํ„ฐ ์•ˆ์œผ๋กœ ๋“ค์–ด์˜ค๋Š๋ƒ์ธ๋ฐ. ์ž…๋ ฅ๋˜๋Š” ์ˆซ์ž์— ๋”ฐ๋ผ ์ตœ๋Œ€ ํฌ๊ธฐ๋Š” ์ง€์ •๋˜์–ด ์žˆ์„ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ์ตœ๋Œ€ ํฌ๊ธฐ์˜ ๋ฐฐ์—ด์„ ์ •ํ•ด๋†“๊ณ  ๋ฐ–์—์„œ๋ถ€ํ„ฐ ์•ˆ์œผ๋กœ ๊ทธ๋ฆฌ๋ฉฐ ๋“ค์–ด์˜ค๋Š” ๊ฒŒ ํŽธํ•  ๊ฒƒ ๊ฐ™์•˜๋‹ค.

์šฐ์„  n๋ฒˆ์งธ ์ •์‚ฌ๊ฐํ˜•์˜ ํ•œ ๋ณ€์˜ ๊ธธ์ด๋Š” 4n-3์ด๋ฉฐ ์‹œ์ž‘์œ„์น˜๋Š” (0, 0)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ (2, 2), (4, 4)๋กœ 2๋‹จ์œ„์”ฉ ๋Š˜์–ด๋‚˜๋ฉฐ ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ€๊ฒŒ ๋œ๋‹ค. ๋ฐ–์—์„œ๋ถ€ํ„ฐ ๊ทธ๋ ค๋“ค์–ด์˜ค๊ธฐ ๋•Œ๋ฌธ์— n์€ 3๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ฒŒ ๋˜๊ณ , (0, 0)์€ ์ ์  ์ปค์ง€๋ฉด์„œ ๋“ค์–ด๊ฐ€๋‹ˆ๊นŒ n๊ณผ i๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋‘˜ ๋‹ค ์‚ฌ์šฉํ•ด์ค€๋‹ค. ํ•˜๋‚˜๋Š” ์‚ฌ๊ฐํ˜•์˜ ๋ณ€์˜ ๊ธธ์ด๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  i๋Š” ์‹œ์ž‘์œ„์น˜๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

์ผ๋‹จ ๋นจ๊ฐ„์ƒ‰ ์‚ฌ๊ฐํ˜•์€ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€์˜ ์ •์‚ฌ๊ฐํ˜• ํฌ๊ธฐ์ด๋‹ค. (0, 0)๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋Š” ํ•œ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ 4*3-3์ธ ์ •์‚ฌ๊ฐํ˜•์ด๋‹ค. ๊ฐ€์žฅ ์œ„์™€ ์•„๋ž˜์˜ ๋ณ€์€ ์ญ‰ ๊ทธ๋ ค์ฃผ๊ณ  ๊ทธ ์™ธ์˜ ํ–‰์€ ์ฒ˜์Œ๊ณผ ๋งˆ์ง€๋ง‰๋งŒ ๊ทธ๋ ค์ฃผ๋ฉด ๋œ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ n์€ 2๊ฐ€ ๋˜์–ด์•ผ ํ•˜๊ณ , ์‹œ์ž‘์œ„์น˜๋Š” (2, 2)๊ฐ€ ๋˜๋„๋ก i๋Š” 2๋ฅผ ์ฆ๊ฐ€์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค.

N = int(input())
arr = [[' ']*(4*N-3) for _ in range(4*N-3)]

def recur_star(n, k):
    if not n:
        return 
    
    for c in range(4*n-3):
        arr[k][k+c] = '*'
        arr[k+4*n-4][k+c] = '*'

    for r in range(k+1, k+4*n-4):
        arr[r][k] = '*'
        arr[r][-1-k] = '*'

    recur_star(n-1, k+2)

recur_star(N, 0)
for row in arr:
    print(''.join(row))

๋‚˜๋Š” ์žฌ๊ท€๋กœ ํ’€์—ˆ๋Š”๋ฐ ์•„๋งˆ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ๋„ ํ’€๋ฆด ๊ฒƒ ๊ฐ™๋‹ค.
์ˆ˜ํ•™์ ์œผ๋กœ ๊ณ„์‚ฐํ•˜๋ฉด ํ›จ์”ฌ ๋” ๋น ๋ฅด๊ฒŒ ํ‘ธ๋Š” ๋ฐฉ์‹๋„ ์žˆ๋Š” ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ฑฐ๊ธฐ๊นŒ์ง€๋Š”..

ํ›„๊ธฐ

์ž‘๋…„์— ์ฒ˜์Œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์‹œ์ž‘ํ•˜๊ณ  ๋ณ„ ์ฐ๊ธฐ ์ •๋ณตํ•ด๋ณด๊ฒ ๋‹ค๊ณ  ์•ผ์‹ฌ์ฐจ๊ฒŒ ๋„์ „ํ–ˆ๋‹ค๊ฐ€ ์ด ๋ฌธ์ œ ๋ณด๊ณ  ์ขŒ์ ˆํ–ˆ์—ˆ๋Š”๋ฐ ์ด๋ฒˆ์—๋Š” ๋ณด์ž๋งˆ์ž ํ•œ ๋ฒˆ์— ํ’€๋ ธ๋‹ค. ์‹ค๋ ฅ์ด๋ž€ ๊ฒŒ ์•ˆ ๋Š๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๋ญ”๊ฐ€ ๋Š˜๊ธด ๋Š๋‚˜๋ณด๋‹ค.. ใ…Ž

profile
์•„๋ฌด๋ง์ด๋‚˜ํ•˜๊ธฐ

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