edu.goorm.io/learn/lecture/17033/cos-pro-2%EA%B8%89-%EA%B8%B0%EC%B6%9C%EB%AC%B8%EC%A0%9C-python
๊ตฌ๋ฆHOME
๊ตฌ๋ฆ์ ํด๋ผ์ฐ๋ ๊ธฐ์ ์ ์ด์ฉํ์ฌ ๋๊ตฌ๋ ์ฝ๋ฉ์ ๋ฐฐ์ฐ๊ณ , ์ค๋ ฅ์ ํ๊ฐํ๊ณ , ์ํํธ์จ์ด๋ฅผ ๊ฐ๋ฐํ ์ ์๋ ํด๋ผ์ฐ๋ ์ํํธ์จ์ด ์ํ๊ณ์ ๋๋ค.
www.goorm.io
๐ ๋ฌธ์ ์ค๋ช
์ด ๋ฌธ์ ๋ ์์ ๋ ์ง์ ์, ์ผ์ startmonth, startday์ ์ ์ฅํ๊ณ , ๋ ๋ ์ง์ ์, ์ผ์ endmonth, endday์ ์ ์ฅํ์ฌ ์์์ผ๋ก๋ถํฐ ๋ ๋ ์ง๊น์ง ๋ฉฐ์น ์ด ์์๋๋์ง ๊ตฌํ๋ ๋ฌธ์ ์ ๋๋ค.
[ ๋งค๊ฐ๋ณ์ ์ค๋ช ]
์๊ณผ ์ผ ์ด๋ ๊ฒ ๋ ๊ฐ์ ๊ฐ์ ์ ๋ฌ ๋ฐ์, ํด๋น ๋ ์ง๊น์ง ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋์ง ๊ตฌํด์ผ ํฉ๋๋ค.
[ return ๊ฐ ์ค๋ช ]
๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ฐ์ ๋ ์ง๋ฅผ ๊ธฐ์ค์ผ๋ก, 1์ 1์ผ๋ถํฐ ์ ๋ ฅ๋ฐ์ ๋ ์ง๊น์ง ๋ฉฐ์น ์ด ๋จ์ด์ ธ ์๋์ง๋ฅผ ๋ฐํํฉ๋๋ค.
๊ทธ๋ผ ํด๋น ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํ ์์๋ค์ ๋ง๋ก ์ดํดํ๊ธฐ ์ฝ๊ฒ ์ ๋ฆฌํด๋ณผ๊ฒ์.
์ด๋ฒ ๋ฌธ์ ๋ ๋น์นธ ์ฑ์ฐ๊ธฐ ๋ฌธ์ ์ด๋ฏ๋ก, ๋ฌธ์ ๋ฅผ ๋จผ์ ์ดํดํ ํ ์ ์๋์ด ์๋ ์ฝ๋๊ฐ ์ด๋ค ๊ฒ๋ค์ ๊ตฌํํ๊ณ ์๋์ง ๋ด๋ณผ๊ฒ์.
ํ์ฌ ์ ์๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์์.
์๋ ์ ์๋ ์ฝ๋์ ํจ๊ป ๊ฐ ์ฝ๋์ ๋ํ ์ค๋ช ์ ์ ์ด๋์์ด์.
def func_a(month, day): # ๋งค๊ฐ๋ณ์๋ก ์, ์ผ์ ์ ๋ฌ ๋ฐ๋๋ค.
# ๊ฐ ์์ด ๋ฉฐ์น ๊น์ง ์๋์ง ์ ์ฅํ๊ณ ์๋ ๋ฆฌ์คํธ
month_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
# ๊ฒฐ๊ณผ์ ์ผ๋ก ์์๋๋ ์ผ์ ์ ์ฅํ๊ธฐ ์ํ ๋ณ์
total = 0;
# ๋ฐ๋ณต๋ฌธ์ผ๋ก 1์ 1์ผ ~ ์ ๋ฌ๋ฐ์ month, day ๊น์ง ์์๋๋ ์ผ ๊ตฌํ๊ธฐ
for i in {๋น์นธ} :
total += {๋น์นธ}
# ๋ชจ๋ ์ฐ์ฐ์ด ๋๋ ํ ์ด๋ค ๊ฐ์ ๋ํด์ค์ผ ํ๋ค.
total += {๋น์นธ}
# ์ ์ฒด ๊ตฌํ ์ผ ์์์ -1 ํ ๊ฐ์ ๋ฐํํ๋ค.
return total - 1
์์์ ๊ตฌํ๋ ๋ถ๋ถ์ ์ ์ธํ๊ณ , ์ฐ๋ฆฌ๊ฐ ๊ตฌํํด์ผ ํ๋ ๋ถ๋ถ์ ๋ค์๊ณผ ๊ฐ์์.
1. [์ฒซ ๋ฒ์งธ ๋น์นธ] ์ธ์ ๊น์ง ๋ฐ๋ณต์ ์งํํ ์ง ๊ตฌํด์ผ ํด์.
์ ๋ต์ ๋ฐ๋ณต๋ฌธ์ ์ ์๋ ์ -1 ๋งํผ ๋ฐ๋ณตํ๋ ๊ฒ์ด์์.
์ด๋ ๊ฒ ๋ฐ๋ณตํด์ผ ํ๋ ์ด์ ๋, ์ฐ๋ฆฌ๋ 1์ 1์ผ๋ถํฐ ์ ์๋ ๋ ์ง๊น์ง์ ํฉ์ ๊ตฌํด์ผ ํ๋๋ฐ, ๋ง์ฝ month๊ฐ 3์์ด๋ผ๋ฉด, 1์๊ณผ 2์์ ๋ชจ๋ ํฌํจ๋๋ฏ๋ก 1์์ ์ ์ฒด ๋ ์ง์ธ 31์ผ + 2์์ ์ ์ฒด ๋ ์ง์ธ 28์ผ ๊ทธ๋ฆฌ๊ณ , day๋ฅผ ๋ํด์ฃผ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด์ฃ .
์๋ ๊ทธ๋ฆผ์ผ๋ก ์์๋ฅผ ๋ค์ด๋ณด์์ด์.
๋ง์ฝ, 3์ 8์ผ์ด ๋งค๊ฐ๋ณ์๋ก ์ง์ ๋์๋ค๋ฉด, 1์ 1์ผ๋ถํฐ 3์ 8์ผ๊น์ง ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋์ง ๊ณ์ฐํ๋ฉด ๋ผ์.
3์ ์์๋ 1์, 2์์ด ์๊ธฐ ๋๋ฌธ์ 1์์ ์ ์ฒด ์ผ์ + 2์์ ์ ์ฒด ์ผ์ + 8์ผ์ ํด์ฃผ๋ฉด ๋ผ์.
๊ทธ๋ผ, ๊ฒฐ๊ตญ ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ ๋น์นธ์ ๋ค์ด๊ฐ ๋ต์ range(month - 1) ์ด ๋ ์ ์์ด์.
2. [๋ ๋ฒ์งธ ๋น์นธ] ํ ๋ฒ ๋ฐ๋ณต๋ ๋๋ง๋ค ์ด๋ค ๊ฐ์ด ์ ๋ต์ ๋ํด์ ธ์ผ ํ๋์ง ๊ตฌํด์ผ ํด์.
๋จผ์ , ์ด ๋ฐ๋ณต๋ฌธ์ ์ ์๋ ์ ์ง์ ๊น์ง์ ์ด ์ผ์๋ฅผ ๊ตฌํ๋ ๋ฐ๋ณต๋ฌธ์ด์์.
๊ทธ๋ ๋ค๋ฉด, ํ ๋ฒ ๋ฐ๋ณต ๋ ๋๋ง๋ค ์ฐ๋ฆฌ๋ ํด๋น ์์ ์ ์ฒด ์ผ์๋ฅผ total์ด๋ผ๋ ๋ณ์์ ๋ํด์ฃผ๋ฉด ๋๊ฒ ์ฃ ?
์ ์ฒด ์ผ์๋ month_list๋ผ๋ ๋ฆฌ์คํธ์ ์ ์ฅ๋์ด ์์ด์.
์ ์์์์ month_list๋ฅผ ์ถ๊ฐํด์ ์ ์ด๋ณผ๊ฒ์.
๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ๋ ๋ฒ์งธ ๋น์นธ์๋ month_list[i] ๊ฐ ๋ค์ด๊ฐ๋ฉด ๋๊ฒ ์ฃ ?
3. [์ธ ๋ฒ์งธ ๋น์นธ] ๋ฐ๋ณต๋ฌธ์ด ๋ชจ๋ ๋๋๊ณ ์ด๋ค ์๋ฅผ ๋ํด์ผ ํ ์ง ๊ตฌํด์ผ ํด์.
์ง๊ธ๊น์ง ๋ํ์ง ์์๊ฒ ์์์ฃ ?
๋ง์์. ์ฐ๋ฆฌ๋ ์ง์ ์๊น์ง ์ด ๋ฉฐ์น ์ธ์ง ๊ตฌํ์ง๋ง, month์ ์ผ์๋ ๋ํ์ง ์์์์.
๊ทธ๋ฌ๋ ๋ง์ง๋ง์ผ๋ก, day๋ฅผ ๋ํด์ฃผ๋ฉด ๋ผ์.
์ฆ, total += day ์ด๋ ๊ฒ ์ ๋ ฅํด์ฃผ๋ฉด ๋์ฃ !
์ด๋ฌํ ๋น์นธ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋จ๊ณ๋ก ์งํํ๋ฉด ์ข์์.
1. ๋ฌธ์ ํ์ ํ๊ธฐ
2. ์ ์๋ ์ฝ๋ ์ดํดํ๊ธฐ
3. ๋น์นธ์ ๋ค์ด๊ฐ ์ฝ๋ ์ถ์ธกํ๊ธฐ
์ ๋ต ์ฝ๋
def func_a(month, day):
month_list = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
total = 0;
for i in range(month-1):
total += month_list[i]
total += day
return total - 1
'๐ฉต CosPro > python 2๊ธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CosPro 2๊ธ 1์ฐจ] 4๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.17 |
---|---|
[CosPro 2๊ธ 1์ฐจ] 2๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.13 |
[CosPro 2๊ธ 1์ฐจ] 1๋ฒ ์ ๋ต ๋ฐ ํด์ค (0) | 2025.03.12 |