๋ฐ์ํ
Notice
Recent Posts
Recent Comments
Link
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- np.zeros_like
- Extended Slices
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ด์ง์ ๋ณํ
- ์๋ฐ
- ๋ฐ์ค๊ทธ๋ํ
- ํ์ ๋ณ์
- mysql
- ํฉํ ๋ฆฌ์ผ ์ง๋ฒ
- ์ง ๊ฐ ์์ธก ๋ถ์
- dacon
- ์ฐธ์กฐ ๋ณ์
- ๋ฐฑ์ค
- Do_it
- 2BPerfect
- ๋ธ๋ผ์ฐ์ ์คํ
- Do it
- matplotlib
- PYTHON
- MacOS
- jdbc
- BFS
- ์ ํ ํฌ ํ์ด์ฌ
- ๋ค์ต์คํธ๋ผ ์๊ณ ๋ฆฌ์ฆ
- DFS
- sql
- ์ต์
- ์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉํ ์คํธ๋ค
- java
- ์์ด
Archives
- Today
- Total
๐ฆ ๊ณต๋ฃก์ด ๋์!
[ํ๋ก๊ทธ๋๋จธ์ค] Python ๊ดํธ๋ณํ ๋ณธ๋ฌธ
1. ํ์ด
def solution(p):
if p=='': return p
r=True; c=0
for i in range(len(p)):
if p[i]=='(': c-=1
else: c+=1
if c>0: r=False
if c==0:
if r:
return p[:i+1]+solution(p[i+1:])
# u v
else:
return '('+solution(p[i+1:])+')'+''.join(list(map(lambda x:
'(' if x==')' else ')',p[1:i]) )) ## ์ผํญ์ ์๋์ ๊ฐ์ ๊ฒฐ๋ก ์๋ ํ์ด์ ํํ๋ง ๋ค๋ฆ
# ์ด๊ฑด ์ ๋ค ํ ๊ฐ์ฉ ์ ๊ฑฐ
2. ํ์ด
def parse(str):
correct =True ## ์ฌ๋ฐ๋ฅธ ๋ฌธ์์ด ํ๋จ
left =0 ## ์ด๋ฆฐ๊ดํธ
right=0 ## ๋ซํ๊ดํธ
st=[] ## ์คํ๊ตฌ์กฐ
for i in range(len(str)):
if str[i]=='(':
left+=1
st.append('(')
else:
right+=1
if len(st)==0:
correct=False ## ์๋ง๋๊ฒฝ์ฐ
else: ## ์ด๋ฆฐ ๊ดํธ๊ฐ ์คํ์ ์๋ ๊ฒฝ์ฐ ์ง์ด ๋ง์ ๊ฒฝ์ฐ
st.pop() ## ์คํ์์ ์์ฐ
if left==right:
return i + 1, correct
## v์ ์ธ๋ฑ์ค
return 0,False ## ์๋ฌ์๋๊ฒฝ์ฐ ๋ฌธ์ ์์์๋ ๊ท ํ์กํ ๊ดํธ๋ง ์ฃผ์ด์ง๋ ์ด๋ด์ผ ์์
## ์ง๋ฌธ๋ด์ฉ ๊ทธ๋๋ก ์ฝ๋ ๊ตฌํ
def solution(p):
if len(p)==0:
return p
pos,correct=parse(p)
u = p[:pos]
v=p[pos:]
if correct:
return u + solution(v)
answer = '('+ solution(v)+')'
for i in range(1,len(u)-1):
if u[i]=='(':
answer+=')'
else:
answer+='('
return answer
๋ฐ์ํ
'Development > CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค]Python ๊ณ๋จ ์ค๋ฅด๊ธฐ (0) | 2022.01.30 |
---|---|
๋์ ๊ณํ๋ฒ(Dynamic Programming) (0) | 2022.01.24 |
[๋ฐฑ์ค]Python ํฉํ ๋ฆฌ์ผ (0) | 2022.01.19 |
[๋ฐฑ์ค]Python ์ด์ง์ ๋ณํ (0) | 2022.01.19 |
์ฌ๊ทํจ์ (0) | 2022.01.19 |
Comments