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 |
Tags
- 테코테코
- 자바
- axios
- react-redux
- 이코테
- Algorithm
- 리액트
- java
- useDispatch
- redux-toolkit
- createSlice
- redux
- SW
- 코딩테스트합격자되기
- react
- Get
- sw expert academy
- json-server
- react-router
- 프로그래머스
- programmers
- 알고리즘
- 매일메일
- 항해플러스
- redux-saga
- C++
- 항해99
- Python
- maeil-mail
- JavaScript
Archives
- Today
- Total
Binary Journey
[프로그래머스] 괄호변환 본문
반응형
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
** Python
def get_uv(p):
a = 0
for i, e in enumerate(p):
if e == "(":
a += 1
else:
a -= 1
if a == 0:
return p[:i+1], p[i+1:]
def is_u_right(u):
stack = []
for p in u:
if p == '(':
stack.append(p)
else:
if not stack:
return False
stack.pop()
return True
def solution(p):
if p == "": return p
u, v = get_uv(p)
if is_u_right(u):
return u + solution(v)
else:
# 4-1
answer = '('
# 4-2
answer += solution(v)
# 4-3
answer += ')'
# 4-4
for p in u[1:len(u)-1]:
if p == '(':
answer += ')'
else:
answer += '('
# 4-5
return answer
참고: https://jokerldg.github.io/algorithm/2021/05/22/parentheses-change.html
반응형
'프로그래머스 > level 2' 카테고리의 다른 글
[프로그래머스] 타겟 넘버 (0) | 2022.02.14 |
---|---|
[프로그래머스] 빛의 경로 사이클 (0) | 2022.02.07 |
[프로그래머스] 괄호 회전하기 (0) | 2022.01.25 |
[프로그래머스] 스킬트리 (0) | 2022.01.18 |
[프로그래머스] n^2 배열 자르기 (0) | 2022.01.17 |