https://www.acmicpc.net/problem/17478
17478๋ฒ: ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์?
ํ์์ ์ง๋ฌธ์ ์ ๋ฐ์์ฃผ๊ธฐ๋ก ์ ๋ช ํ ์ค์๋ํ๊ต์ JH ๊ต์๋์ ํ์๋ค๋ก๋ถํฐ ์ฌ๊ทํจ์๊ฐ ๋ฌด์์ธ์ง์ ๋ํ์ฌ ๋ง์ ์ง๋ฌธ์ ๋ฐ์์๋ค. ๋งค๋ฒ ์ง๋ฌธ์ ์ ๋ฐ์์ฃผ์ จ๋ JH ๊ต์๋์ด์ง๋ง ๊ทธ๋ ์ค์๋
www.acmicpc.net
์ด๊ฒ ์ด๋ ค์ฐ๋ฉด ์ ๋๋๋ฐ.. ๋ ์๊ทผ ์ด๋ ค์ ๋ค ^^
์ฝ๋ ์ง๊ณ ์ ์ถํ๊ณ ์ ๋ต ํ์ ๋ฐ๊ธฐ๊น์ง๋ ์๊ฐ์ด ์ผ๋ง ์ ๊ฑธ๋ฆฌ๊ธด ํ์ง๋ง
๊ทธ๊ฑฐ๋์ ๋ณ๊ฐ๋ก ์ฝ๊ฐ ํ๋ฉด์.. ๋ ๋ฐ๋ณด์ธ๊ฐ? ์ถ์์
๊ทธ๋์ ๋นจ๋ฆฌ ์ ์ถ ๋จผ์ ํ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋ ๊ตฌ๊ฒฝํด์ผ๊ฒ ๋ค๋ ์๊ฐ์ผ๋ก ์ฝ๋๋ฅผ ์งฐ์๋ค
๋งจ ์ฒ์ ์๊ฐ์์ด ์์ฑํ๋ ์ฝ๋(์ ๋ต)
def story(n,k):
if n==k-1:
print('์ด๋ ํ ์ปดํจํฐ๊ณตํ๊ณผ ํ์์ด ์ ๋ช
ํ ๊ต์๋์ ์ฐพ์๊ฐ ๋ฌผ์๋ค.')
print('"์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์?"')
print('"์ ๋ค์ด๋ณด๊ฒ. ์๋ ์๋ ํ ์ฐ ๊ผญ๋๊ธฐ์ ์ด์ธ์ ๋ชจ๋ ์ง์์ ํต๋ฌํ ์ ์ธ์ด ์์์ด.')
print('๋ง์ ์ฌ๋๋ค์ ๋ชจ๋ ๊ทธ ์ ์ธ์๊ฒ ์๋ง์ ์ง๋ฌธ์ ํ๊ณ , ๋ชจ๋ ์งํ๋กญ๊ฒ ๋๋ตํด ์ฃผ์์ง.')
print('๊ทธ์ ๋ต์ ๋๋ถ๋ถ ์ณ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๋ , ๊ทธ ์ ์ธ์๊ฒ ํ ์ ๋น๊ฐ ์ฐพ์์์ ๋ฌผ์์ด."')
if n == 0:
return
indent = (k-n) * '____'
print('{}"์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์?"'.format(indent))
if n==1:
print('{}"์ฌ๊ทํจ์๋ ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์๋ผ๋ค"'.format(indent))
else:
print('{}"์ ๋ค์ด๋ณด๊ฒ. ์๋ ์๋ ํ ์ฐ ๊ผญ๋๊ธฐ์ ์ด์ธ์ ๋ชจ๋ ์ง์์ ํต๋ฌํ ์ ์ธ์ด ์์์ด.'.format(indent))
print('{}๋ง์ ์ฌ๋๋ค์ ๋ชจ๋ ๊ทธ ์ ์ธ์๊ฒ ์๋ง์ ์ง๋ฌธ์ ํ๊ณ , ๋ชจ๋ ์งํ๋กญ๊ฒ ๋๋ตํด ์ฃผ์์ง.'.format(indent))
print('{}๊ทธ์ ๋ต์ ๋๋ถ๋ถ ์ณ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๋ , ๊ทธ ์ ์ธ์๊ฒ ํ ์ ๋น๊ฐ ์ฐพ์์์ ๋ฌผ์์ด."'.format(indent))
story(n-1,k)
print('{}๋ผ๊ณ ๋ต๋ณํ์์ง.'.format(indent))
n = int(input())
story(n,n+1)
print("๋ผ๊ณ ๋ต๋ณํ์์ง.")
๊ณ ์น๊ณ ์ถ์๋ ์
1. ๋งจ ๋ง์ง๋ง ๋ผ์ธ, "๋ผ๊ณ ๋ต๋ณํ์์ง."๋ผ๋ ๋ฌธ์ฅ ํ๋๋ฅผ ๊ผญ ํจ์ ๋ฐ์์ ์ถ๋ ฅํด์ผ๋ง ํ ๊น?
n == 0 ์ด๋ผ๋ฉด ์ถ๋ ฅํ์ง ๋ง์์ผ ํ๋๋ฐ? (๋ฌผ๋ก ๋ฌธ์ ์กฐ๊ฑด์์ ์ธํ๊ฐ์ผ๋ก ์ฃผ์ด์ง๋ n >= 1 ์ด๋ผ๋ ์กฐ๊ฑด์ด ์๊ธด ํ๋ค. ๊ทธ๋๋ ๊ฐ์ธ์ ์ผ๋ก ๊ต์ฅํ ๊ฑฐ์ฌ๋ฆฌ๋ ๋ถ๋ถ์ด์๋ค.)
2. ์ธ๋๋ฐ ๊ฐ์ ๊ณ์ฐํ๋ค๊ณ k๋ผ๋ ํจ์ ํ๋ผ๋ฏธํฐ๋ฅผ ํ๋ ๋ ๋ฐ์์๋๋ฐ, ๊ตณ์ด ์ด๋ ๊ฒ ํด์ผ ํ ๊น?
--> ํจ์ ํ๋ผ๋ฏธํฐ๊ฐ n ํ ๊ฐ ๋ฟ์ด์์ผ๋ฉด ์ข๊ฒ ๋๋ฐ?
3. ๋์ผํ ๋ด์ฉ์ ๋ฌธ์ฅ ๋ธ๋ก์ ํจ์ ๋ด์ ํ ๋ฒ๋ง ์ธ ์ ์์ ๊ฒ ๊ฐ์๋ฐ?
๋ด ์ฝ๋์์๋ "์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? ~ ์ ๋น๊ฐ ์ฐพ์์์ ๋ฌผ์์ด." ๋ผ๋ ๋ฌธ์ฅ ๋ธ๋ก์ด
ํจ์ ๋ด๋ถ์์ ๋ ๋ฒ์ฉ์ด๋ ๋ฑ์ฅํ๋๊น ์ข ์ฌ๊ธฐ๊ฐ ๋ถํธํ๋ค.
์ฝ๋ ์์
1. ๊ทธ๋ด ํ์ ์์๋ค.
2. ํ์ด์ฌ์ ๊ฒฝ์ฐ ํจ์ ๋ฐ์ ์๋ ๋ณ์๋ฅผ ๋ฐ๋ก ๊ฐ๋ค ์จ๋ ๋๊ธด ํ๋ค. ์ค์ค๋ก ๊ณ ๋ฏผํด๋ณด๊ณ ๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋ ๊ตฌ๊ฒฝ๋ ํด๋ณด๋ฉด์ ๋ด๋ฆฐ ๊ฒฐ๋ก ์ ํ๋ผ๋ฏธํฐ 2๊ฐ ์ฐ๋๊ฑฐ๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ๋ค.
3. ํ ๋ฒ๋ง ์ธ ์ ์์๋ค.
์ต์ข ์ ์ถ ์ฝ๋ (์ ๋ต)
def story(n,k):
if n==k:
print('์ด๋ ํ ์ปดํจํฐ๊ณตํ๊ณผ ํ์์ด ์ ๋ช
ํ ๊ต์๋์ ์ฐพ์๊ฐ ๋ฌผ์๋ค.')
if n < 0:
return
indent = (k-n) * '____'
print('{}"์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์?"'.format(indent))
if n==0:
print('{}"์ฌ๊ทํจ์๋ ์๊ธฐ ์์ ์ ํธ์ถํ๋ ํจ์๋ผ๋ค"'.format(indent))
else:
print('{}"์ ๋ค์ด๋ณด๊ฒ. ์๋ ์๋ ํ ์ฐ ๊ผญ๋๊ธฐ์ ์ด์ธ์ ๋ชจ๋ ์ง์์ ํต๋ฌํ ์ ์ธ์ด ์์์ด.'.format(indent))
print('{}๋ง์ ์ฌ๋๋ค์ ๋ชจ๋ ๊ทธ ์ ์ธ์๊ฒ ์๋ง์ ์ง๋ฌธ์ ํ๊ณ , ๋ชจ๋ ์งํ๋กญ๊ฒ ๋๋ตํด ์ฃผ์์ง.'.format(indent))
print('{}๊ทธ์ ๋ต์ ๋๋ถ๋ถ ์ณ์๋ค๊ณ ํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด๋ ๋ , ๊ทธ ์ ์ธ์๊ฒ ํ ์ ๋น๊ฐ ์ฐพ์์์ ๋ฌผ์์ด."'.format(indent))
story(n-1,k)
print('{}๋ผ๊ณ ๋ต๋ณํ์์ง.'.format(indent))
n = int(input())
story(n,n)
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]17413๋ฒ: ๋จ์ด ๋ค์ง๊ธฐ 2 (0) | 2023.05.09 |
---|---|
[๋ฐฑ์ค]1193๋ฒ: ๋ถ์์ฐพ๊ธฐ (0) | 2023.05.04 |
[๋ฐฑ์ค]4673๋ฒ: ์ ํ ๋๋ฒ (0) | 2023.05.01 |
[๋ฐฑ์ค]1966๋ฒ: ํ๋ฆฐํฐ ํ (0) | 2023.04.30 |
[๋ฐฑ์ค]2108๋ฒ: ํต๊ณํ (0) | 2023.04.27 |