CodingTest/Programmers
[ 프로그래머스 ] 짝지어 제거하기
EEOOOO
2022. 7. 18. 02:37
/ 제출 1 /
def solution(s):
answer = -1
s = list(s)
strStack = []
for char in s:
if not strStack:
strStack.append(char)
else:
if strStack[-1] == char:
strStack.pop()
return int(not bool((strStack)))
채점 결과
정확성: 59.7
효율성: 39.8
합계: 99.5 / 100.0
바로 구현 방식이 떠오르고 예제도 쉽게 풀려 바로 제출했는데 정확성의 테스트 케이스(13)를 하나 통과하지 못했습니다.
자만이었던 것 같습니다. LV1을 풀고 와서 이 문제도 들이대면 풀릴 줄 알았던건 지 ..
수정해보도록 하겠습니다.
/ 제출 2 /
def solution(s):
answer = -1
s = list(s)
strStack = []
for char in s:
if not strStack:
strStack.append(char)
else:
if strStack[-1] == char:
strStack.pop()
else: # 추가 부분입니다.
strStack.append(char) # 이 때 strStack에 값이 들어가지 않아서 오류가 난 것이었습니다.
return int(not bool((strStack)))
채점 결과
정확성: 60.2
효율성: 39.8
합계: 100.0 / 100.0
조건 하나를 설정하지 않아서 마지막 값이 제대로 안 들어가는 경우가 생겼던 것이었습니다.
스택에 대해서 값이 제대로 들어가지 않았기에 마지막에 스택에 값이 있는지 없는지의 여부로 확인해서 오류가 난 것이었습니다.
코드의 작동 흐름에 대해서 집중하지 않았기에 한 실수 같아서 이유를 알고 부끄러웠습니다.