-
[๋ฐฑ์ค] 1515 ์ ์ด์ด ์ฐ๊ธฐ with PythonPS 2021. 12. 12. 17:07728x90๋ฐ์ํ
๐ BOJ 1515 ์ ์ด์ด ์ฐ๊ธฐ
๐ก ์กฐ๊ฑด
1๋ถํฐ N๊น์ง ๋ชจ๋ ์
๋ฅผ ์ฐจ๋ก๋๋ก ๊ณต๋ฐฑ์์ด ํ ์ค์ ๋ค ์ผ๋ค.๋ค์์ด๊ฐ ์ซ์์ ์ผ๋ถ๋ฅผ ์ง์ ๊ณ , ์ง์์ง๊ธฐ ์ ์ ์ซ์๋ฅผ ๋ค์ ์ฐ๋ ค๊ณ ํ๋
N
์ด ๊ธฐ์ต๋์ง ์๋๋ค.๋จ์ ์๋ฅผ ์ด์ด ๋ถ์ธ ์๊ฐ ์ฃผ์ด์ง ๊ฒฝ์ฐ,
N
์ ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ .์ผ๋ถ ์ซ์๋ฅผ ์ง์ฐ๊ณ ๋จ์ ์๋ฅผ ์ด์ด๋ถ์ธ ์๊ฐ ์ฃผ์ด์ง๋ฉฐ, ์ด ์๋ ์ต๋ 3000์๋ฆฌ.
๊ตฌํ, ๋ฌธ์์ด, ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin data = stdin.readline().rstrip() s, i = '', 1 def check(s): t = list(s) k = list(data) while 1: if len(t) < len(data): return ' ' else: i = 0 chk = 0 while 1: if i >= len(k) or i >= len(t): if chk: return ''.join(t) else: return ''.join(t[:len(data)]) if t[i] != k[i]: t.pop(i) chk = 1 else: i += 1 while 1: s += str(i) # check tf = check(s) if tf[:min(len(tf), len(data))] == data: print(i) break # tf = False if tf != ' ': s = tf i += 1 else: i += 1
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
00000000000000000000000000000000000000000000000000000000000000000000000
์คํ๊ฒฐ๊ณผ
400
โจ๏ธ ๋ฌธ์ ํ์ด
1๋ถํฐ ์๋ฅผ ๋๋ ค๊ฐ๋ฉด์
์์ ํ์
์ ์คํํ๋ฉด ๋๋ค.i, s
๋ ๊ฐ๊ฐ1๊ณผ ''
๋ก ์ด๊ธฐํ ํ ๋ค,while 1:
๋ฐ๋ณต์ผ๋กi
๋ฅผ ๋๋ ค์ฃผ๋ฉฐ ์ํํ๋ค.s
์str(i)
๋ฅผ ์ด์ด ๋ถ์ด๊ณcheck()
ํจ์์์ ๊ฒ์ฌ๋ฅผ ์ค์ํ๋ค.check
ํจ์์์๋ ์ฌ์ฉ์์๊ฒ ์ ๋ ฅ๋ฐ์data
์while
๋ฐ๋ณต๋ฌธ์ ํตํด์ ์ด์ด ๋ถ์ธ ์ซ์์ ๊ธธ์ด๋ฅผ ๊ฒ์ฌํ๋ค.
๋ง์ฝ, ๊ธธ์ด๊ฐ ๊ฐ์ง ์์ผ๋ฉด' '
๋ฅผ ๋ฆฌํดํด์ค๋ค.
๋ง์ฝ, ๊ธธ์ด๊ฐ ๊ฐ๋ค๋ฉดdata
๋ฐฐ์ด๊ณผ ์ด์ด ๋ถ์ธ ์ซ์์ ๊ฐ ์๋ฆฌ๋ฅผ ๊ฒ์ฌํ์ฌ ํ๋ฆฐ๊ฒ์pop()
์ผ๋ก ๋นผ์ค๋ค
๊ธธ์ด๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, ๊ฐ ์๋ฆฌ๊ฐ ๋ชจ๋ ๋์ผํ๋ค๋ฉดchk
๋ณ์๋ 0์ด๊ณdata
์ ๊ธธ์ด๋งํผ ๋ฐํ
๊ธธ์ด๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ, ๊ฐ ์๋ฆฌ๋ฅผ ๊ฒ์ฌํ๊ณpop()
์ ์ฌ์ฉํด ์ซ์๋ฅผ ๋บ ์ด์ด ๋ถ์ธ ์๋ฅผ ๋ฐํcheck
ํจ์์์ ๋ฐํ๋ฐ์tf
๋ณ์๋' '
ํน์ 3๋ฒ์ ๊ฒฐ๊ณผ๊ฐ์ ๊ฐ์ง๊ณ ์๋ค.
๋ง์ฝtf
๋ณ์๊ฐdata
์ ๊ธธ์ด์tf
์ ๊ธธ์ด ์ค ์งง์ ๊ธธ์ด๋งํผ ์๋ผ๋์ ๋,data
์ ๊ธธ์ด์ ๊ฐ๋ค๋ฉด
ํ์ฌ์i
๋ฅผ ์ถ๋ ฅํด์ฃผ๊ณwhile
์ ์ข ๋ฃํ๋ค.4๋ฒ์์ ์ข ๋ฃ๊ฐ ์๋์๊ณ
tf
๊ฐ' '
๊ณผ ๋ค๋ฅด๋ค๋ฉด,s
๋tf
๋ก ์ ์ฅํด์ฃผ๊ณ , i ๋ฅผ 1๋งํผ ์ฆ๊ฐ์์ผ์ค๋ค.- ์ด ๋
tf
๋ ์ด์ด ๋ถ์ธ ์์์ ์ซ์๋ฅผ ์ง์ด ์ํ์ด๋ค.*
4๋ฒ์์ ์ข ๋ฃ๊ฐ ์๋์๊ณ ,
tf
๊ฐ' '
๊ณผ ๊ฐ๋ค๋ฉด,i
๋ฅผ1
๋งํผ ์ฆ๊ฐ์์ผ์ค๋ค.data
๋ณ์์ ๋จ ํ์๋ฆฌ๋ ๊ฐ์ง ์์ ์ด์ด ๋ถ์ธ ์๊ฐpop()
์ ์ํด ๋ค ๋ฝํ ๊ฒ.*
๐พ ๋๋์
ํ๋ ธ์ต๋๋ค์ ๋ฐํ์์๋ฌ๊ฐ ๋ ๊ดด๋กญํ๋ค.
๊ทธ ์ด์ ๋ ์๋์ ๊ฐ๋ค.- ๋ฌธ์์ด์ ์ด์ด ๋ถ์ด๋ค ๋ณด๋ฉด 10์ ์๋ฆฌ๋ฅผ ๋ถ์ด๊ฒ ๋๋๋ฐ ๊ทธ ์๊ฐ data ๋ณ์์ ๊ธธ์ด๋ณด๋ค ์ด์ด ๋ถ์ธ ์์ ๊ธธ์ด๊ฐ ๊ธธ์ด์ง ๋ ๊ฒ์ฌํ๋ค๊ฐ ์ค๋ฅ.
- ๋ฐํํ ๋๋ ์ด๋ฏธ data ๋ณ์์ ๊ธธ์ด๊ฐ ๊ฐ๊ฑฐ๋ ํน์ ๊ธธ์ด๊ฐ ๊ธธ๊ฒ๋์์ ๋ต๋ ์ ๋๋ก ์๋์๋ค.
์ธ๋ฑ์ฑ์ ๋งค์ฐ ์ฝํ๋ค. ์ด๋ฅผ ๊ทน๋ณตํ๋ ค๋ฉด ๋ฐ๋ณต ๋ฐ์๋ ์์ ๊ฒ ๊ฐ๋ค.
๋ฐ์ํ'PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 13900 ์์์์ ๊ณฑ์ ํฉ with Python (0) 2021.12.13 [๋ฐฑ์ค] 2615 ์ค๋ชฉ with Python (0) 2021.12.12 [๋ฐฑ์ค] 1411 ๋น์ทํ ๋จ์ด with Python (0) 2021.12.12 [Programmers] ๋ธ๋ก ์ด๋ํ๊ธฐ with Python (0) 2021.12.12 [Programmers] ์ธ๋ฒฝ ์ ๊ฒ with Python (0) 2021.12.06