BOJ/๐Ÿฅˆ

โ˜…Recursion Intermediate - 2 Solvedโ˜…

metamong 2022. 12. 11.

โ˜… 17478 ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ ๋ญ”๊ฐ€์š”? โ˜…

 

N = int(input())

print('์–ด๋Š ํ•œ ์ปดํ“จํ„ฐ๊ณตํ•™๊ณผ ํ•™์ƒ์ด ์œ ๋ช…ํ•œ ๊ต์ˆ˜๋‹˜์„ ์ฐพ์•„๊ฐ€ ๋ฌผ์—ˆ๋‹ค.')

def CH(n):

    if n < 0:
        return    
    
    print('_'*4*(N-n) + '"์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ ๋ญ”๊ฐ€์š”?"')

    if n != 0:
        print('_'*4*(N-n) + '"์ž˜ ๋“ค์–ด๋ณด๊ฒŒ. ์˜›๋‚ ์˜›๋‚  ํ•œ ์‚ฐ ๊ผญ๋Œ€๊ธฐ์— ์ด์„ธ์ƒ ๋ชจ๋“  ์ง€์‹์„ ํ†ต๋‹ฌํ•œ ์„ ์ธ์ด ์žˆ์—ˆ์–ด.')
        print('_'*4*(N-n) + '๋งˆ์„ ์‚ฌ๋žŒ๋“ค์€ ๋ชจ๋‘ ๊ทธ ์„ ์ธ์—๊ฒŒ ์ˆ˜๋งŽ์€ ์งˆ๋ฌธ์„ ํ–ˆ๊ณ , ๋ชจ๋‘ ์ง€ํ˜œ๋กญ๊ฒŒ ๋Œ€๋‹ตํ•ด ์ฃผ์—ˆ์ง€.')
        print('_'*4*(N-n) + '๊ทธ์˜ ๋‹ต์€ ๋Œ€๋ถ€๋ถ„ ์˜ณ์•˜๋‹ค๊ณ  ํ•˜๋„ค. ๊ทธ๋Ÿฐ๋ฐ ์–ด๋Š ๋‚ , ๊ทธ ์„ ์ธ์—๊ฒŒ ํ•œ ์„ ๋น„๊ฐ€ ์ฐพ์•„์™€์„œ ๋ฌผ์—ˆ์–ด."')
    
    else:
        print('_'*4*(N-n) + '"์žฌ๊ท€ํ•จ์ˆ˜๋Š” ์ž๊ธฐ ์ž์‹ ์„ ํ˜ธ์ถœํ•˜๋Š” ํ•จ์ˆ˜๋ผ๋„ค"')
        
    CH(n-1)
    
    print('_'*4*(N-n) + '๋ผ๊ณ  ๋‹ต๋ณ€ํ•˜์˜€์ง€.')

CH(N)

 

๐Ÿค ๋Œ€ํ‘œ์ ์ธ ์žฌ๊ท€ ๋ฌธ์ œreturn ์ข…๋ฃŒ ์กฐ๊ฑด ์ฝ”๋“œ + ํ•จ์ˆ˜ ๋„ฃ๋Š” ์ฝ”๋“œ 2๊ฐœ ์‚ฌ์ด์‚ฌ์ด์— ์–ด๋–ป๊ฒŒ ์ฝ”๋“œ ๋„ฃ์„ ์ง€ ๋””์ž์ธ๋งŒ ์ž˜ํ•˜๋ฉด ๋จ


โ˜… 4779 ์นธํ† ์–ด ์ง‘ํ•ฉ โ˜…

def draw(s,e):
    if (s+1)==e:
        return
    else:
        length=(e-s)
        step=(length//3)
        lines[s+step:s+step*2]=[' ']*(step)
        draw(s,s+step)
        draw(s+step*2,e)

while 1:
    try:
        N=int(input())
        l=3**N
        lines=['-']*l
        s,e=0,l
        if l!=0:
            draw(s,e)
        print(''.join(lines))
    except EOFError:
        break

 

๐Ÿค ์žฌ๊ท€ํ•จ์ˆ˜ ์•ˆ์— ์žฌ๊ท€ํ•จ์ˆ˜๊ฐ€ 2๊ฐœ ์žˆ๋Š” ๋ฌธ์ œ. ๊ทธ ์™ธ๋Š” ๋””์ž์ธ๋งŒ ์ž˜ํ•˜๋ฉด OK


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

๋Œ“๊ธ€