๊ฐ๋ฏธ ๊ตฐ๋จ ๐
Q. ๊ฐ๋ฏธ ๊ตฐ๋จ์ด ์ฌ๋ฅ์ ๋๊ฐ๋ ค๊ณ ํฉ๋๋ค. ๊ฐ๋ฏธ ๊ตฐ๋จ์ ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ์ ๋ฑ ๋ง๋ ๋ณ๋ ฅ์ ๋ฐ๋ฆฌ๊ณ ๋๊ฐ๋ ค๊ณ ํฉ๋๋ค.
์ฅ๊ตฐ๊ฐ๋ฏธ๋ 5์ ๊ณต๊ฒฉ๋ ฅ์, ๋ณ์ ๊ฐ๋ฏธ๋ 3์ ๊ณต๊ฒฉ๋ ฅ์, ์ผ๊ฐ๋ฏธ๋ 1์ ๊ณต๊ฒฉ๋ ฅ์ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด
์ฒด๋ ฅ 23์ ์ฌ์น๋ฅผ ์ฌ๋ฅํ๋ ค๊ณ ํ ๋, ์ผ๊ฐ๋ฏธ 23๋ง๋ฆฌ๋ฅผ ๋ฐ๋ฆฌ๊ณ ๊ฐ๋ ๋์ง๋ง, ์ฅ๊ตฐ๊ฐ๋ฏธ ๋ค ๋ง๋ฆฌ์ ๋ณ์ ๊ฐ๋ฏธ ํ ๋ง๋ฆฌ๋ฅผ
๋ฐ๋ฆฌ๊ณ ๊ฐ๋ค๋ฉด ๋ ์ ์ ๋ณ๋ ฅ์ผ๋ก ์ฌ๋ฅํ ์ ์์ต๋๋ค.
์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ `hp`๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ์ ๋ฑ ๋ง๊ฒ ์ต์ํ์ ๋ณ๋ ฅ์ ๊ตฌ์ฑํ๋ ค๋ฉด ๋ช ๋ง๋ฆฌ์
๊ฐ๋ฏธ๊ฐ ํ์ํ์ง returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ์ฌํญ
- `hp`๋ ์์ฐ์์ ๋๋ค.
- 0 ≤ `hp` ≤ 1000
- ์ ์ถ๋ ฅ ์
hp | result |
23 | 5 |
24 | 6 |
999 | 201 |
A.
def solution(hp):
cap_ant_pw = 5
soldier_ant_pw = 3
ant_pw = 1
low_hp = hp % cap_ant_pw # ์: 23 % 5 = 3, 24 % 5 = 4
total_cap_ant = hp // cap_ant_pw # 23 // 5 = 4, 24 // 5 = 4
total_soldier_ant = low_hp // soldier_ant_pw # 3 // 3 = 1, 4 // 3 = 1
total_ant = (low_hp % soldier_ant_pw) * ant_pw # (3 % 3) * 1 = 0, (4 % 3) * 1 = 1
return total_cap_ant + total_soldier_ant + total_ant # 4 + 1 + 0, 4 + 1 + 1
# {์ฅ๊ตฐ๊ฐ๋ฏธ ๊ณต๊ฒฉ๋ ฅ : 5, ๋ณ์ ๊ฐ๋ฏธ : 3, ์ผ๊ฐ๋ฏธ : 1}
# if ์ฒด๋ ฅ 23 ์ฌ์น์ฌ๋ฅ:
# ์ผ๊ฐ๋ฏธ23๋ง๋ฆฌ == (์ฅ๊ตฐ๊ฐ๋ฏธ4๋ง๋ฆฌ + ๋ณ์ ๊ฐ๋ฏธ1๋ง๋ฆฌ --> ๊ฐ์ฑ๋น๋ ์ด์ชฝ์ด ๋ ์ข์)
# ์ฌ๋ฅ๊ฐ ์ฒด๋ ฅ ๋ณ์ hp
# ์ฌ๋ฅ๊ฐ hp์ ๋ง๋ ***์ต์ํ์ ๋ณ๋ ฅ ๊ตฌ์ฑ*** ์ ์ํ ๊ฐ๋ฏธ ์ซ์
# hp๋ ์์ฐ์, 0๋ถํฐ 1000 ๋ฒ์
# ์) hp = 23 : ant = ์ด 5๋ง๋ฆฌ, hp = 24 : ant = 6
# ๋ญ ํด์ผ ํ๋๊ฐ
# hp๋ฅผ ant๋ก ๋๋๊ณ ๋๋จธ์ง ๊ณ์ฐํ๊ธฐ
# ๊ทผ๋ฐ ์ด์ ๊ฐ์ฑ๋น ๋ฐ์ ธ์ผ ํ๋๊น ant์ ๊ธฐ๋ณธ๊ฐ์ 5 ๋ผ๊ณ ์๊ฐํด์ผํจ
์ค๋ต๋ ธํธ โ๏ธ
์ฒ์ ์ ์ฝ๋๋ ์ด๋ฌ์ด์,,
def solution(hp):
cap_ant_pw = 5
soldier_ant_pw = 3
ant_pw = 1
while hp:
low_hp = hp % cap_ant_pw # ์: 23 % 5 = 3, 24 % 5 = 4
total_cap_ant = hp // cap_ant_pw # 23 // 5 = 4, 24 // 5 = 4
total_soldier_ant = low_hp // soldier_ant_pw # 3 // 3 = 1, 4 // 3 = 1
total_ant = (low_hp % soldier_ant_pw) * ant_pw # (3 % 3) * 1 = 0, (4 % 3) * 1 = 1
if low_hp != 0:
return total_cap_ant + total_soldier_ant + total_ant # 4 + 1 + 0, 4 + 1 + 1
else:
return total_cap_ant + total_soldier_ant + total_ant
ํ ์คํธ ์ผ์ด์ค๋ฅผ ๋๋ ค๋ดค์ ๋๋ ๋ชจ๋ ํต๊ณผ๋ผ์ ๋ง์ ์ ์ถ์ ํด๋ณด๋ฉด
1๊ฐ์ ์ผ์ด์ค์์ ๋ถํต์ด ๋์ด๋ฒ๋ฆฌ๊ธธ๋ ๋ด ์ฝ๋์์ ๊ฐ์ ํด์ผํ ์ ์ด ๋ฌด์์ธ์ง ์์๋ณด์์ด์
q. ์ ์ฝ๋์ ๊ฐ์ ์ ์ ์ด๋ค ๊ฒ์ธ์ง?
ํด๋น ์ฝ๋๋ ๊ฐ๋ฏธ ๋ณ๋ ฅ์ ํจ์จ์ ์ผ๋ก ๊ตฌ์ฑํ์ฌ ์ฌ๋ฅ๊ฐ์ ์ฒด๋ ฅ์ ์๋ชจํ๋ ๋ฌธ์ ์ ๋ํ ํด๊ฒฐ์ฑ ์
์ ์ํ๊ณ ์์ต๋๋ค๋ง, ๋ช ๊ฐ์ง ๊ฐ์ ํ ์ ์๋ ์ ์ด ์์ต๋๋ค.
๊ฐ์ ์ฌํญ
๋ถํ์ํ ๋ฐ๋ณต๋ฌธ (while hp)
- ์ฃผ์ด์ง ์ฝ๋์์ while hp: ๋ฐ๋ณต๋ฌธ์ hp๊ฐ 0์ด ๋ ๋๊น์ง ๋ฐ๋ณต๋๋๋ก ์์ฑ๋์ด ์์ง๋ง, ์ค์ ๋ก๋ hp๊ฐ 0์ด ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- ํจ์ ๋ด์์ return ๋ฌธ์ฅ์ด ์คํ๋๋ฉด ํจ์๊ฐ ์ฆ์ ์ข ๋ฃ๋๋ฏ๋ก, ๋ฐ๋ณต๋ฌธ์ ํ ๋ฒ๋ง ์คํ๋ฉ๋๋ค.
- ๋ฐ๋ผ์ while ๋ฐ๋ณต๋ฌธ์ ํ์ํ์ง ์์ผ๋ฉฐ, ์ ๊ฑฐํด๋ ์ฝ๋๋ ๋์ผํ๊ฒ ๋์ํฉ๋๋ค.
if ๋ฌธ ์กฐ๊ฑด
- ํ์ฌ ์ฝ๋์์๋ if low_hp != 0: ์กฐ๊ฑด์ ์ฌ์ฉํ๊ณ ์์ง๋ง, low_hp๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ์ 0์ธ ๊ฒฝ์ฐ ๋ชจ๋ ๋์ผํ ๊ณ์ฐ ๊ฒฐ๊ณผ(total_cap_ant + total_soldier_ant + total_ant)๋ฅผ ๋ฐํํฉ๋๋ค. ๋ฐ๋ผ์ if ๋ฌธ์ ๋ถํ์ํฉ๋๋ค.
- return ๋ฌธ์ ๋ฐ๋ณต๋ฌธ ๋ฐ์ผ๋ก ๋นผ์ ํ ๋ฒ๋ง ์คํ๋๋๋ก ์์ ํ ์ ์์ต๋๋ค.
# ์์ ๋ ์ฝ๋
def solution(hp):
cap_ant_pw = 5
soldier_ant_pw = 3
ant_pw = 1
low_hp = hp % cap_ant_pw
total_cap_ant = hp // cap_ant_pw
total_soldier_ant = low_hp // soldier_ant_pw
total_ant = (low_hp % soldier_ant_power) * ant_pw
return total_cap_ant + total_soldier_ant + total_ant
๊ฐ์ ๋ ์ฝ๋์ ์ฅ์
- ์ฝ๋ ๊ฐ๊ฒฐ์ฑ: ๋ถํ์ํ ๋ฐ๋ณต๋ฌธ๊ณผ ์กฐ๊ฑด๋ฌธ์ ์ ๊ฑฐํ์ฌ ์ฝ๋์ ๊ธธ์ด๊ฐ ์งง์์ง๊ณ ๊ฐ๋ ์ฑ์ด ํฅ์๋์์ต๋๋ค.
- ํจ์จ์ฑ: ๋ถํ์ํ ์ฐ์ฐ(๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ํ๋ณํ)์ด ์ ๊ฑฐ๋์ด ์ฝ๋๊ฐ ๋์ฑ ํจ์จ์ ์ผ๋ก ์คํ๋ฉ๋๋ค.
๊ฒฐ๋ก
๊ฐ์ ๋ ์ฝ๋๋ ์๋ ์ฝ๋์ ๊ธฐ๋ฅ์ ์ ์งํ๋ฉด์ ๋ถํ์ํ ๋ถ๋ถ์ ์ ๊ฑฐํ์ฌ ๋์ฑ ๊ฐ๊ฒฐํ๊ณ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด์ก์ต๋๋ค. ์ฝ๋๋ฅผ ์์ฑํ ๋ ๋ถํ์ํ ๋ฐ๋ณต๋ฌธ, ์กฐ๊ฑด๋ฌธ, ํ๋ณํ์ ์ ๊ฑฐํ์ฌ ์ฝ๋์ ํจ์จ์ฑ๊ณผ ๊ฐ๋ ์ฑ์ ๋์ด๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ด๋ฒ ๋ฌธ์ ํ์ด๋ฅผ ํตํด ๋ฐฐ์ด ๊ฒ:
์๋ฌด๋๋ ๋ฐ๋ณต๋ฌธ์ ์ด๋ค๊ณ ๋๋๊ฒ ์๋๋ค~!
'[SPARTA] AI 9 (24.11 ~ 25.03) ๐๐ปโโ๏ธ > ๋ฌธ์ ํ์ด ๐ฏ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[250108] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ ๋ฌธ์ (0) | 2025.01.08 |
---|---|
[250103] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ ๋ฌธ์ (3) | 2025.01.03 |
[241227] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ SQL ๋ฌธ์ (1) | 2024.12.27 |
[241223] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ ๋ฌธ ๋ฌธ์ (0) | 2024.12.23 |
[241220] ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฝ๋ฉ ๊ธฐ์ด ํธ๋ ์ด๋ ๋ฌธ์ (1) | 2024.12.20 |