์์ ํ์. ์ฆ, ๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ชจ๋ ํ์ํ๋ฉด์ ์๊ตฌ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๊ฒฐ๊ณผ ์ถ๋ ฅ
์์ธ์์ด 100% ํ๋ฅ ๋ก ์ ๋ต์ ์ถ๋ ฅํจ
#brute:๋ฌด์ํ #force:ํ #์์ ํ์ #์ ์ฒดํ์ #๊ฐ๋ฅํ ๋ชจ๋ ๊ฒฝ์ฐ์ ์ #100%์ ๋ต์ถ๋ ฅ
์ฒซ ์ ๊ทผ์ ์ ํ์ (์๊ณ์๊ฐ ๋ญ์ง ํ์
ํ๋ ๊ฒ์ด ์ฐ์ ์)
์๊ณ์ : ์
๋ ฅ๊ฐ์ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ ธ์ ๋ ์
๋ ฅ๊ฐ์ด ์ต์๊ฐ์ธ ๊ฒฝ์ฐ
์๊ณ์ ํ์ธ ๋ฐ ์ถ๋ ฅ ํจ์ ๋ง๋ค๊ณ 1111~์
๋ ฅ๊ฐ๊น์ง ์๊ณ์ ๊ฐ์ ๋ํด์ฃผ๋ฉด ๋ ๋ฏ
import sys
input = sys.stdin.readline
def timeNumber(n):
global cnt
global minR
# n์ 0๋ค์ด๊ฐ๋ฉด ๊ณ์ฐ X (์๊ณ์๋ 0 ํฌํจํ์ง ์์)
a,b,c,d = map(int, str(n))
if 0 in (a,b,c,d):
minR = 10000
return
# ์๊ณ๋ฐฉํฅ 1๋ฐํด ๋๋ฉด ๋๋ด๊ธฐ, cnt์ด๊ธฐํ
if cnt == 4 :
cnt = 0
return
# n์ ์๋ฆฟ์๋ง๋ค ์๊ณ๋ฐฉํฅ ๋๋ฆฌ๋ฉด์ ์๊ณ์ ์ฐพ๊ธฐ
a,b,c,d = map(str, str(n)) #2112
n = int(str(b+c+d+a)) #1122
minR = min(minR,n)
cnt += 1
timeNumber(n)
#์
๋ ฅ๊ฐ ๋ฐ๊ธฐ
N = list(map(str, input().split()))
num = "".join(N)
minR = 10000
cnt = 0
timeNumber(num)
comp = minR
#1111๋ถํฐ ์
๋ ฅ๊ฐ์ ์๊ณ์๊น์ง์ ์๊ณ์ count ++
count = 1 #comp๋ ์๊ณ์๋๊น 1๋ถํฐ์์ (count = 0ํ๊ณ range(1111, comp+1)ํด๋ ๋จ)
for i in range(1111,comp):
timeNumber(i)
if minR == i : count += 1
minR = 10000
print(count)
์ ๊ทผ๋ง ์ ํ๋ฉด ์ด๋ ค์ด ๋ฌธ์ ๋ ์๋์๋๋ฐ, ์ด๊ธฐ์ ๋ฌธ์ ๋ฅผ ์ ๋๋ก ํ์
ํ์ง ์์ 3์๊ฐ์ด ๊ฑธ๋ ธ๋ค.
prefix(๋์ ํฉ)์ผ๋ก ๊ตฌํํ๋ ค๋ค๊ฐ prefix ๋ฐฐ์ด์ ์ฌ์ฉํ์ง ์๋ ์๊ฐ ์๋ชป ๋์์์ ๊นจ๋ฌ์...
๐๐ป ๊ตฌํ, ๋ธ๋ฃจํธํฌ์ค ๋ฌธ์ ๋ ๋ฌธ์ ๊ฐ ์๋ํ๋ ๊ฒ์ด ๋ฌด์์ธ์ง ์ ํ๋จํ๋ ๊ฒ์ด ๊ด๊ฑด!