โ๏ธ ๋ฌธ์
[๋ฐฑ์ค/BOJ] 31926๋ฒ: ๋ฐค์๊ฐฑ(https://www.acmicpc.net/problem/31926)
๋ฌ๋๋ฌ๊ณ , ๋ฌ๋๋ฌ๊ณ , ๋ฌ๋๋จ, ๋ฐค์๊ฐฑ, ๋ฐค์๊ฐฑ
<์ฅ๊ธฐํ, ๋ฐค์๊ฐฑ, 2024>
๋ฏผ์ฐ๋ ๋น๋น์ ์ ๊ณก <๋ฐค์๊ฐฑ>์ ๊ฝํ ํ๋ฃจ ์ข ์ผ "๋ฌ๋๋ฌ๊ณ ๋ฌ๋๋ฌ๊ณ ๋ฌ๋๋ฌ๊ณ ... ๋ฌ๋๋จ"์ด ๋จธ๋ฆฟ์์ ๋งด๋๊ณ ์๋ค.
๋ฏผ์ฐ์ ๋จธ๋ฆฟ์์์ daldidalgo๊ฐ ์ด N๋ฒ ๋ฐ๋ณต๋ ํ, ๋ฐ๋ณต์ด ์๋ฃ๋์๋ค๋ฉด daldidan์ผ๋ก ๋๋๊ฒ ๋๋ค. ์๋ฅผ ๋ค์ด ์ด๋ผ๋ฉด ๋ฏผ์ฐ์ ๋จธ๋ฆฟ์์ daldidalgodaldidalgodaldidalgodaldidan์ด ์ฌ์๋๋ค.
๋ฏผ์ฐ๋ N์ด ์ฃผ์ด์ง๋ฉด ์ผ๋ง๋ ๋นจ๋ฆฌ daldidalgodaldidalgo...daldidan์ ์ปดํจํฐ์ ์ ๋ ฅํ ์ ์๋์ง ๊ถ๊ธํ๋ค. ๋งค์ด ๋ฏผ์ฐ๋ ๋ ๊ฐ์ ์์ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์ํํ ์ ์๋ค.
- ์ํ๋ฒณ ์๋ฌธ์ a๋ถํฐ z ์ค์์ ๋ฏผ์ฐ๊ฐ ์ํ๋ ์ํ๋ฒณ์ ํ๋ ๊ณจ๋ผ์ ์ง๊ธ๊น์ง ์ ๋ ฅํ ๋ด์ฉ์ ๋งจ ๋ค์ ์ ๋ ฅํ๋ค.
- ์ง๊ธ๊น์ง ์ ๋ ฅํ ๋ฌธ์์ด์ ์ฐ์๋ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ณต์ฌ ํ ์ ๋ ฅํ ๋ด์ฉ์ ๋งจ ๋ค์ ๋ถ์ฌ๋ฃ๋๋ค. ์๋ฅผ ๋ค์ด ์ง๊ธ๊น์ง ์์ฑํ ๋ฌธ์์ด์ด ajouapcshake๋ผ๋ฉด, ajouapcshake๋ฅผ ๋ณต์ฌํ ์๋, apc๋ฅผ ๋ณต์ฌํ ์๋ ์์ง๋ง, aashake๋ฅผ ๋ณต์ฌํ์ฌ ๋ถ์ฌ๋ฃ์ ์๋ ์๋ค.
๋ฏผ์ฐ๋ ๋ช ์ด ๋ง์ ๋จธ๋ฆฟ์์ ๋ ์ค๋ฅธ ๊ฐ์ฌ๋ฅผ ์ปดํจํฐ์ ์ ๋ ฅํ ์ ์์๊น?
๐ค ์ ์ถ๋ ฅ ์์
๐ง ๋์ด๋/์์ ์๊ฐ
โ ๋์ด๋: solved.ac ๊ธฐ์ค S1
โ ์์ ์๊ฐ: 1์๊ฐ 30๋ถ
โ ๊ถ์ฅ ์๊ฐ: 1์๊ฐ 15๋ถ
์๊ฐ ์์ ๋ชป ํผ ๊ฒ ๊ต์ฅํ ์ค๋๋ง์ด๋ค. ์ด ์ค๋ ฅ์ด ์ข ๋๊ฑด๊ฐ? ์ถ์ ๊ฑฐ๋งํ ์๊ฐ์ด ๋ค๋ฝ๋ง๋ฝ ํ ๋ ์ฏค ์๊ธฐ์ ์ ํ๊ฒ ๋ํ๋์ค ๋ฌธ์ ๋ค.
๐ก ํ์ด
1) ๋ฌธ์ ์ ํ ํ์
์ต๊ทผ ๊ทธ๋ฆฌ๋ ๋ฌธ์ ๊ฐ ์์ฃผ ์ถ์ ๋๊ธฐ๋ ํ๊ณ '์ต์' ํ์๋ฅผ ๊ตฌํด์ผ ํ๋ ๊ฑธ ๋ณด๊ณ ๊ทธ๋ฆฌ๋ ์ ํ์ด๊ฒ ๋ค ์ถ์๋ค.
์ฌ์ค ๊ทธ๋ฆฌ๋ ์ ํ์ ์์ง ์ ๋ชจ๋ฅด๊ฒ ๋ค. ๊ฐ์ธ์ ์ธ ๊ฒฝํ์ผ๋ก๋ '๊ทธ๋ฆฌ๋ ๋ฌธ์ ๋๊น ์ด๋ป๊ฒ ํ์ด์ผ์ง'๋ผ๊ธฐ๋ณด๋ค '์ด๋ ๊ฒ ํ๋ฉด ๋ ๊ฒ ๊ฐ์๋ฐ?' ํ๊ณ ํผ ํ ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ๋ฅผ ๋ณด๋ฉด ๊ทธ๋ฆฌ๋๋ก ๋ผ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์๋ค.
๋ฌธ์ ์ ์๊ตฌ์ฌํญ
- N๊ฐ์ daldidalgo์ ํ๋์ daldidan์ผ๋ก ์ด๋ฃจ์ด์ง ๊ฐ์ฌ๋ฅผ ๋ง๋๋ ๋ฐ ๋๋ ์ต์ ์๊ฐ ๊ตฌํ๊ธฐ
์ ๊ทธ๋ฆฌ๋์ธ์ง? (โ ๏ธ ๊ฐ์ธ์ ์๊ฐ์ ์ ๋ฆฌํ ๊ฑฐ๋ผ ์ ํํ์ง ์์)
- ๊ฑฐ์ค๋ฆ๋ ๋ฌธ์ ์์ ๋์ ์ ์ต์ํ์ผ๋ก ์จ์ ๊ฑฐ์ฌ๋ฌ์ฃผ๋ ค๋ฉด ๊ธ์ก์ด ํฐ ๋์ ์ ๋ง์ด ์จ์ผ ํ๋ฏ์ด ์ด ๋ฌธ์ ์์๋ ๊ธธ์ด๊ฐ ๊ธด ๊ฐ์ฌ๋ฅผ ๋ง์ด ์จ์ผ ์๊ฐ์ ๋จ์ถํ ์ ์์
→ ์ด ๋ถ๋ถ์ด ๊ทธ๋ฆฌ๋์ ์ฌ๊ณ ์ ๊ด๋ จ ์๋ค๊ณ ํ๋จ
2) ์์ด๋์ด ํ๋ฆ
โ ํจํด ์ฐพ์๋ณด๊ธฐ - ์ฒซ ๋ฒ์งธ ์๋
๊ฐ์ฅ ๋จผ์ ์๋ํ ๋ฐฉ๋ฒ์ N=1๋ถํฐ N=4๊น์ง ๊ฐ์ฌ๊ฐ ๋ง๋ค์ด์ง๋ ๊ณผ์ ์ ์ผ์ผ์ด ์ ์ด๋ณด๋ ๊ฒ์ด์๋ค. ๊ทผ๋ฐ ์๋ฌด๋๋ ์์ผ๋ก ์ฐ๋ค ๋ณด๋ ํด๋จผ ์๋ฌ๊ฐ ์์ด์ ์ ์ด์ ์๋ชป๋ ํจํด์ด์๋๋ฐ ์ด ๋๋ ๊น๋ํ๊ฒ ์ ์๋๋ ํจํด์ด๋ผ๊ณ ์๊ฐํ๋ค.
๋ฌผ๋ก ? ์ ์ถ ๊ฒฐ๊ณผ๋ ์ค๋ต.
# ์ฒซ ๋ฒ์งธ ์ค๋ต ์ฝ๋
import sys
input = sys.stdin.readline
N = int(input())
print(10+(N-1))
โก ํจํด ์ฐพ์๋ณด๊ธฐ - ๋ ๋ฒ์งธ ์๋
์กฐ๊ธ ๋ ์ฌํ์ ๊ธฐ์ธ์ฌ ์๊ฐ์ ๊ณ์ฐํด๋ดค๋ค.
N = 1: d/a/l/d/i/dal/g/o (8์ด) daldida (9์ด) n (10์ด)
N = 2: d/a/l/d/i/dal/g/o (8์ด) daldidalgo (9์ด) daldida (10์ด) n (11์ด)
N = 3: d/a/l/d/i/dal/g/o (8์ด) daldidalgo (9์ด) daldidalgodaldida (10์ด) n (11์ด)
N = 4: ์์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ๊ณ์ฐํ์ ๋ ์ต์ข ์ ์ผ๋ก (12์ด)
์ฌ๊ธฐ๊น์ง๋ง ์ ์ด ๋ณด๊ณ '์ ๋ฌ๋๋ฌ๊ณ ๊ฐ ํ ๊ฐ์ผ ๋ 10์ด๊ณ ๊ทธ ๋ค๋ถํฐ๋ N์ 2๋ก ๋๋ ๋ชซ์ ๋ํด์ฃผ๋ฉด ๋๋๊ตฌ๋' ํ๋๋ฐ ์ฝ๋ ์ ์ถํ๋๊น ๋ ์ค๋ต์ด์๋ค.
# ๋ ๋ฒ์งธ ์ค๋ต ์ฝ๋
import sys
input = sys.stdin.readline
N = int(input())
print(10+(N//2))
์ด ๋๋ถํฐ ๋๋ฌด ๋จ์ํ๊ฒ ์๊ฐํ๊ณ ์๋? ์ถ์ด ๋ ผ๋ฆฌ์ ์ธ ํ์ด๋ฅผ ๊ณ ๋ฏผํด๋ดค๋ค. ์ด ๊ณผ์ ์์ ํ์ด ์๊ฐ์ ๋๋ถ๋ถ์ด ์์๋๋ค.
โข โญ '×2' ๊ฐ๋ ํ์ฉํ๊ธฐ โญ
์์ ํ daldidalgo๋ฅผ ํ๋ ๋ง๋ ๊ฒ์์๋ถํฐ ์ถ๋ฐํ๋ค. N์ด 2 ์ด์์ผ ๋ ํ ๊ฐ์ daldidalgo๊ฐ ๋ง๋ค์ด์ง๊ณ ๋ ํ์๋ ๊ณ์ ์ ๊ฑธ ๋ณต์ฌํด์ ์ฐ๋ฉด ๋๊ธฐ ๋๋ฌธ์ด๋ค.
daldidalgo๊ฐ ํ๋๋ง ์์ฑ๋๊ณ ๋๋ฉด ์ด์ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ๊ณผ์ ์ ํตํด ์๋์ฒ๋ผ daldidalgo์ ๊ฐ์๋ฅผ 2๋ฐฐ์ฉ ์ฆ๊ฐ์ํฌ ์ ์๋ค.
daldidalgo → ์ ์ฒด ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ(1์ด ์์) → daldidalgo daldidalgo
daldidalgo daldidalgo → ์ ์ฒด ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ(1์ด ์์) → daldidalgo daldidalgo daldidalgo daldidalgo
์ ์ฒด ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ๊ณผ์ ์ ํตํด daldidalgo ๊ฐ์๋ฅผ 2๋ฐฐ์ฉ ๋๋ฆด ์ ์๋์ง ํ์ธํ๋ฉด์ ์๊ฐ์ ๊ณ์ 1์ด์ฉ ๋ํด์ฃผ๋ฉด ๋๋๋ฐ ์ด ๋ถ๋ถ์ while๋ฌธ์ ์ด์ฉํด ๊ตฌํํ ์ ์๋ค.
while๋ฌธ์ ๋ค ๋๊ณ ๋๋ฉด 'daldidalgodaldidan'์ ๋ง๋๋ ๋ฐ ํ์ํ 10์ด๋ฅผ ๋ํด์ ์ต์ข ๊ฐ์ ์ถ๋ ฅํ๋ค.
์ค๋ช ์ด ๋ด๊ฐ ๋ด๋ ๊น๋ํ์ง ์์๋ฐ ์ฌ๊ธฐ๊น์ง๊ฐ ์ค๋์ ์ต์ ์ด๋ผ TIL์ ์ผ๋จ ์ ๋ก๋,,
3) ๊ตฌํ
import sys
input = sys.stdin.readline
N = int(input())
if N <= 2:
answer = 10+(N-1)
else:
cnt = 1 # 8์ด ๋์ ๋ค ๋ง๋ค์ด์ง ๋ฌ๋๋ฌ๊ณ
sec = 0
while N >= cnt*2:
sec += 1
cnt *= 2
answer = 10+sec
print(answer)
4) ์ด๋ ค์ ๋ ์ /๋ฐฐ์ด ์
๐จ ์ด๋ ค์ ๋ ์
- ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๋ฐ์๋ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์๋๋ฐ ๋ ๋ฒ์ ํ๋ ธ์ต๋๋ค๋ฅผ ๋ง๋ ํ๋ถํฐ๋ ์์ผ๋ก ์ฐ๋ฉด์ ์๊ฐํ๋๋ฐ๋ ๋ญ๊ฐ ๊ณ์ ํท๊ฐ๋ ค์ ๋ฐฉ๋ฒ์ ๋ ์ฌ๋ฆฌ๋ ๊ฒ ์ฝ์ง ์์๋ค.
โ ๋ฐฐ์ด ์
- ๊ทธ๋ฆฌ๋๋ ์ฝ์ง ์๋ค...ใน๋๋ฌ๊ณ ๋ฌ๋๋ฌ๊ณ ×∞
'Problem Solving > [ํญํด99] TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
99ํด๋ฝ ์ฝํ ์คํฐ๋ 19์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (0) | 2024.11.15 |
---|---|
99ํด๋ฝ ์ฝํ ์คํฐ๋ 18์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (1) | 2024.11.14 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 16์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (5) | 2024.11.12 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 15์ผ์ฐจ TIL / ์๋ฃ๊ตฌ์กฐ(๋ฑ)&๋ฌธ์์ด (0) | 2024.11.11 |
99ํด๋ฝ ์ฝํ ์คํฐ๋ 14์ผ์ฐจ TIL / ๊ทธ๋ฆฌ๋ (0) | 2024.11.10 |