๋ฌธ์ ์ค๋ช
ํ๋ธ๊ฐ ํ๋ํ๋ ์ฝ๋ฉ ๋์๋ฆฌ์์๋ ์ ํต์ ์ผ๋ก ํด์ค๋ ๊ฒ์์ด ์๋ค. ์ด ๊ฒ์์ ์ฌ๋ฌ ์ฌ๋์ด ๋ฅ๊ธ๊ฒ ์์์ ์ซ์๋ฅผ ํ๋์ฉ ์ฐจ๋ก๋๋ก ๋งํ๋ ๊ฒ์์ธ๋ฐ, ๊ท์น์ ๋ค์๊ณผ ๊ฐ๋ค.
- ์ซ์๋ฅผ 0๋ถํฐ ์์ํด์ ์ฐจ๋ก๋๋ก ๋งํ๋ค. ์ฒซ ๋ฒ์งธ ์ฌ๋์ 0, ๋ ๋ฒ์งธ ์ฌ๋์ 1, … ์ด ๋ฒ์งธ ์ฌ๋์ 9๋ฅผ ๋งํ๋ค.
- 10 ์ด์์ ์ซ์๋ถํฐ๋ ํ ์๋ฆฌ์ฉ ๋์ด์ ๋งํ๋ค. ์ฆ ์ดํ ๋ฒ์งธ ์ฌ๋์ 10์ ์ฒซ ์๋ฆฌ์ธ 1, ์ด๋ ๋ฒ์งธ ์ฌ๋์ ๋์งธ ์๋ฆฌ์ธ 0์ ๋งํ๋ค.
์ด๋ ๊ฒ ๊ฒ์์ ์งํํ ๊ฒฝ์ฐ,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, …
์์ผ๋ก ์ซ์๋ฅผ ๋งํ๋ฉด ๋๋ค.
ํํธ ์ฝ๋ฉ ๋์๋ฆฌ ์ผ์๋ค์ ์ปดํจํฐ๋ฅผ ๋ค๋ฃจ๋ ์ฌ๋๋ต๊ฒ ์ด์ง์๋ก ์ด ๊ฒ์์ ์งํํ๊ธฐ๋ ํ๋๋ฐ, ์ด ๊ฒฝ์ฐ์๋
0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, …
์์ผ๋ก ์ซ์๋ฅผ ๋งํ๋ฉด ๋๋ค.
์ด์ง์๋ก ์งํํ๋ ๊ฒ์์ ์ต์ํด์ ธ ์ง๋ ค๊ฐ๋ ์ฌ๋๋ค์ ์ข ๋ ๋์ด๋๋ฅผ ๋์ด๊ธฐ ์ํด ์ด์ง๋ฒ์์ ์ญ์ก์ง๋ฒ๊น์ง ๋ชจ๋ ์ง๋ฒ์ผ๋ก ๊ฒ์์ ์งํํด๋ณด๊ธฐ๋ก ํ๋ค. ์ซ์ ๊ฒ์์ด ์ต์ํ์ง ์์ ํ๋ธ๋ ๊ฒ์์ ์ ธ์ ๋ฒ์น์ ๋ฐ๋ ๊ตด์์ ํผํ๊ธฐ ์ํด, ์์ ์ด ๋งํด์ผ ํ๋ ์ซ์๋ฅผ ์ค๋งํธํฐ์ ๋ฏธ๋ฆฌ ์ถ๋ ฅํด์ฃผ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค๋ ค๊ณ ํ๋ค. ํ๋ธ์ ํ๋ก๊ทธ๋จ์ ๊ตฌํํ๋ผ.
์ ํ ์ฌํญ
์ ๋ ฅ ํ์
์ง๋ฒ n, ๋ฏธ๋ฆฌ ๊ตฌํ ์ซ์์ ๊ฐฏ์ t, ๊ฒ์์ ์ฐธ๊ฐํ๋ ์ธ์ m, ํ๋ธ์ ์์ p ๊ฐ ์ฃผ์ด์ง๋ค.
- 2 โฆ n โฆ 16
- 0 ๏ผ t โฆ 1000
- 2 โฆ m โฆ 100
- 1 โฆ p โฆ m
์ถ๋ ฅ ํ์
ํ๋ธ๊ฐ ๋งํด์ผ ํ๋ ์ซ์ t๊ฐ๋ฅผ ๊ณต๋ฐฑ ์์ด ์ฐจ๋ก๋๋ก ๋ํ๋ธ ๋ฌธ์์ด. ๋จ, 10~15๋ ๊ฐ๊ฐ ๋๋ฌธ์ A~F๋ก ์ถ๋ ฅํ๋ค.
์ ์ถ๋ ฅ ์
n | t | m | p | result |
2 | 4 | 2 | 1 | "0111" |
16 | 16 | 2 | 1 | "02468ACE11111111" |
16 | 16 | 2 | 2 | "13579BDF01234567" |
์ ์ถ๋ ฅ ์ ์ค๋ช
ํ์ด
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต๋ฌธ์ ~ ์นด์นด์ค ๋ธ๋ผ์ธํธ ์ฑ์ฉ 2018๋ 3์ฐจ ๋ฌธ์ . n์ง์ ๊ฒ์.
์นด์นด์ค ๋ธ๋ผ์ธ๋ ์ฝ๋ฉํ ์คํธ๋... ์ฝ๊ธฐ๊ฐ ๋ฒ ์ฐฌ๋ฐ ๊ทธ๋๋ง ์ด ๋ฌธ์ ๋ ๋ณ๋ก ์ฝ์ ๊ฒ ์์ด์ ์ข์๋ค.
- n ์ง์ ๊ฒ์ (2~16)
- t ๊ฐ๋ฅผ ๋งํด์ผ ํจ (0~1000)
- m ์ฐธ๊ฐ์ธ์ (2~100)
- p ํ๋ธ์ ์์ (1~m)
์ด๊ฑฐ ๋๋ฌด ๊ฐ๋จํ ๋ฌธ์ ์๋๊ฐ?
๊ทผ๋ฐ 2์ง์, 8์ง์, 10์ง์, 16์ง์๋ ํจ์์๋๋ฐ ๋๋จธ์ง๋ ์ด๋ป๊ฒ ํ๋? ๋ง๋ค์ด์ผ ๋๋? ๊ท์ฐฎ...
font = list("0123456789ABCDEF")
def ConvertBase(num, base):
string = ''
while num > 0:
num, mod = divmod(num, base)
string += font[mod]
return string[::-1] # ๋ค์ง์ด์ ๋ฆฌํด
def solution(n, t, m, p):
answer = ''
a = "0"
number = 0
while m*t > len(a):
a += ConvertBase(number, n)
number += 1
a = list(a)
for i in range(p-1, m*t, m):
answer += a[i]
return answer
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.01ms, 10.2MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.10ms, 10.2MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.15ms, 10.3MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.10ms, 10.2MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.21ms, 10.4MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.12ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.12ms, 10.4MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.23ms, 10.2MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.23ms, 10.2MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.23ms, 10.4MB)
ํ
์คํธ 14 ใ ํต๊ณผ (31.70ms, 10.9MB)
ํ
์คํธ 15 ใ ํต๊ณผ (22.69ms, 10.7MB)
ํ
์คํธ 16 ใ ํต๊ณผ (22.67ms, 10.8MB)
ํ
์คํธ 17 ใ ํต๊ณผ (0.85ms, 10.3MB)
ํ
์คํธ 18 ใ ํต๊ณผ (1.22ms, 10.3MB)
ํ
์คํธ 19 ใ ํต๊ณผ (0.32ms, 10.2MB)
ํ
์คํธ 20 ใ ํต๊ณผ (0.99ms, 10.2MB)
ํ
์คํธ 21 ใ ํต๊ณผ (5.53ms, 10.2MB)
ํ
์คํธ 22 ใ ํต๊ณผ (2.30ms, 10.3MB)
ํ
์คํธ 23 ใ ํต๊ณผ (7.69ms, 10.5MB)
ํ
์คํธ 24 ใ ํต๊ณผ (9.86ms, 10.3MB)
ํ
์คํธ 25 ใ ํต๊ณผ (8.03ms, 10.3MB)
ํ
์คํธ 26 ใ ํต๊ณผ (3.25ms, 10.3MB)
- ์์ฒญ ์งง๋ค...
def solution(n, t, m, p):
data = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"]
numbers = "0"
for number in range(1, t*m):
temp = ''
while number > 0:
temp = data[number%n] + temp
number //= n
numbers += "".join(temp)
return numbers[p-1:t*m:m]
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.01ms, 10.4MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.05ms, 10.2MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.3MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.91ms, 10MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.49ms, 10.2MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.52ms, 10.2MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.23ms, 10.2MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.41ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.23ms, 10.3MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.20ms, 10.1MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.20ms, 10.2MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.20ms, 10.2MB)
ํ
์คํธ 14 ใ ํต๊ณผ (86.00ms, 10.4MB)
ํ
์คํธ 15 ใ ํต๊ณผ (75.12ms, 10.4MB)
ํ
์คํธ 16 ใ ํต๊ณผ (71.85ms, 10.6MB)
ํ
์คํธ 17 ใ ํต๊ณผ (4.14ms, 10.2MB)
ํ
์คํธ 18 ใ ํต๊ณผ (2.73ms, 10.2MB)
ํ
์คํธ 19 ใ ํต๊ณผ (2.65ms, 10.3MB)
ํ
์คํธ 20 ใ ํต๊ณผ (2.25ms, 10.1MB)
ํ
์คํธ 21 ใ ํต๊ณผ (17.33ms, 10.1MB)
ํ
์คํธ 22 ใ ํต๊ณผ (9.78ms, 10.1MB)
ํ
์คํธ 23 ใ ํต๊ณผ (24.98ms, 10.1MB)
ํ
์คํธ 24 ใ ํต๊ณผ (101.74ms, 10.6MB)
ํ
์คํธ 25 ใ ํต๊ณผ (105.20ms, 10.7MB)
ํ
์คํธ 26 ใ ํต๊ณผ (8.94ms, 10.1MB)
- ์ฝ๊ธฐ๋ ํ๋ค์ด๋ ๋น ๋ฅธ ๋ฐฉ์์ด๋ค.
big = ["A","B","C","D","E","F"]
def solution(n, t, m, p):
a="0"
i=1
#for i in range(t*m):
while True:
if len(a)>=t*m:
break
b=""
j=i
while (j):
if j%n>9:
b=big[j%n-10]+b
else:
b=str(j%n)+b
j=j//n
a=a+b
i=i+1
answer = a[p-1::m][:t]
return answer
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.01ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.01ms, 10.4MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 5 ใ ํต๊ณผ (0.12ms, 10.1MB)
ํ
์คํธ 6 ใ ํต๊ณผ (0.14ms, 10.2MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.12ms, 10.1MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.12ms, 10.1MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.12ms, 10.1MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.12ms, 10.1MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.12ms, 10.2MB)
ํ
์คํธ 12 ใ ํต๊ณผ (0.12ms, 10.2MB)
ํ
์คํธ 13 ใ ํต๊ณผ (0.12ms, 10.2MB)
ํ
์คํธ 14 ใ ํต๊ณผ (25.41ms, 10.2MB)
ํ
์คํธ 15 ใ ํต๊ณผ (25.64ms, 10.2MB)
ํ
์คํธ 16 ใ ํต๊ณผ (25.83ms, 10.2MB)
ํ
์คํธ 17 ใ ํต๊ณผ (1.04ms, 10.2MB)
ํ
์คํธ 18 ใ ํต๊ณผ (1.35ms, 10.2MB)
ํ
์คํธ 19 ใ ํต๊ณผ (0.35ms, 10.2MB)
ํ
์คํธ 20 ใ ํต๊ณผ (1.04ms, 10.2MB)
ํ
์คํธ 21 ใ ํต๊ณผ (6.32ms, 10.3MB)
ํ
์คํธ 22 ใ ํต๊ณผ (2.88ms, 10.2MB)
ํ
์คํธ 23 ใ ํต๊ณผ (8.87ms, 10.2MB)
ํ
์คํธ 24 ใ ํต๊ณผ (13.88ms, 10.2MB)
ํ
์คํธ 25 ใ ํต๊ณผ (12.06ms, 10MB)
ํ
์คํธ 26 ใ ํต๊ณผ (3.64ms, 10.1MB)
- ๋ณด๊ธฐ ํธํ ๋ด ๋ฌด์ง์ฑ ์ฝ๋์ ๋ง์กฑํจ. ใ ก.ใ ก;
'๊ฒ์ ํ๋ก๊ทธ๋๋ฐ > Python ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ๋ฑ๊ตฃ๊ธธ (๋์ ๊ณํ๋ฒ, Dynamic Programming) (0) | 2023.02.27 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.02.27 |
ํ๋ก๊ทธ๋๋จธ์ค [3์ฐจ] ์์ถ (0) | 2023.02.26 |
ํ๋ก๊ทธ๋๋จธ์ค ์ผ๊ทผ์ง์ (0) | 2023.02.25 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฌํ๊ฒฝ๋ก - DFS ๋ฌธ์ (1) | 2023.02.25 |