https://programmers.co.kr/learn/courses/30/lessons/60058?language=python3
코딩테스트 연습 - 괄호 변환
카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를
programmers.co.kr
최종 코드
GitHub - hwayeon351/Programmers-Algorithms: 프로그래머스 알고리즘 소스 코드 모음
프로그래머스 알고리즘 소스 코드 모음. Contribute to hwayeon351/Programmers-Algorithms development by creating an account on GitHub.
github.com
import sys
sys.setrecursionlimit(20000000)
def make(w):
#1.
if len(w) == 0: return ""
#2. u, v로 분리
u = ""
v = ""
for i in range(len(w)):
u += w[i]
if u.count('(') == u.count(')'):
break
v = w[i+1:]
#3. u 체크
stack = []
for c in u:
if not stack:
stack.append(c)
continue
if stack[-1] == "(":
if c == ")": stack.pop()
else: stack.append(c)
else: stack.append(c)
#3-1.
if len(stack) == 0:
return u+make(v)
#4-1.
ans = "(" + make(v) + ")"
for i in range(1, len(u)-1):
if u[i] == "(": ans += ")"
else: ans += "("
return ans
def solution(p):
answer = make(p)
return answer
풀이 과정
풀이 시간 36분
import sys
sys.setrecursionlimit(20000000)
def make(w):
#1.
if len(w) == 0: return ""
#2. u, v로 분리
u = ""
v = ""
for i in range(len(w)):
u += w[i]
if u.count('(') == u.count(')'):
break
v = w[i+1:]
#3. u 체크
stack = []
for c in u:
if not stack:
stack.append(c)
continue
if stack[-1] == "(":
if c == ")": stack.pop()
else: stack.append(c)
else: stack.append(c)
#3-1.
if len(stack) == 0:
return u+make(v)
#4-1.
ans = "(" + make(v) + ")"
for i in range(1, len(u)-1):
if u[i] == "(": ans += ")"
else: ans += "("
return ans
def solution(p):
answer = make(p)
return answer
참고
- 5. 기둥과 보 설치 -> https://hwayomingdlog.tistory.com/315
Level 3 기둥과 보 설치 <2020 KAKAO BLIND RECRUITMENT> Python 3
https://programmers.co.kr/learn/courses/30/lessons/60061?language=python3 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0..
hwayomingdlog.tistory.com
Level 3 외벽 점검 <2020 KAKAO BLIND RECRUITMENT> Python 3
https://programmers.co.kr/learn/courses/30/lessons/60062?language=python3# 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기..
hwayomingdlog.tistory.com
- 7. 블록 이동하기 ->
'코테 노트 > 프로그래머스' 카테고리의 다른 글
Level 4 가사 검색 <2020 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2021.09.06 |
---|---|
Level 3 자물쇠와 열쇠 <2020 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2021.09.05 |
Level 2 문자열 압축 <2020 KAKAO BLIND RECRUITMENT > Python 3 (0) | 2021.09.05 |
Level 3 징검다리 건너기 <2019 카카오 인턴십> Python3 (0) | 2021.09.05 |
Level 4 무지의 먹방 라이브 <2019 KAKAO BLIND RECRUITMENT> Python 3 (0) | 2021.09.02 |