-
[프머] 코딩테스트연습/ 스택, 큐/ 쇠막대기하면서 이런이런것을 공부했다[연구노트]/알고리즘 공부 2020. 3. 26. 15:28
문제 사이트 [https://programmers.co.kr/learn/courses/30/lessons/42585]
손코딩
나의 코드
def solution(arr): start_stack = [] answer = 0 for i in range(len(arr)): if arr[i] == '(': start_stack.append(i) else: diff = i - start_stack.pop() if diff == 1: answer += len(start_stack) else: answer += 1 return answer
좋은 코드
def solution(arrangement): answer = 0 sticks = 0 rasor_to_zero = arrangement.replace('()','0') for i in rasor_to_zero: if i == '(': sticks += 1 elif i =='0' : answer += sticks else : sticks -= 1 answer += 1 return answer
def solution(arrangement): answer = 0 stack = 0 laseron = False for p in arrangement: if p == '(': laseron = True stack += 1 else: if laseron==True: answer += stack-1 laseron=False else: answer += 1 stack -= 1 return answer
def solution(arrangement): onLaser = 0 total = 0 for i in range(len(arrangement) - 1): if arrangement[i:i+2] == '((': onLaser += 1 elif arrangement[i:i+2] == '))': onLaser -= 1 total += 1 elif arrangement[i:i+2] == '()': total += onLaser return total
'하면서 이런이런것을 공부했다[연구노트] > 알고리즘 공부' 카테고리의 다른 글
[백준] 11047 동전 0 (0) 2020.03.30 [프머] 코딩테스트연습/ 스택, 큐/ 프린트 (0) 2020.03.18 [프머] 코딩테스트 연습/스택, 큐/기능개발 (0) 2020.03.10 [프머] 2018 KAKAO BLIND RECRUITMENT 자동완성 (0) 2020.02.28 [백준] 16549 숨바꼭질 3 (0) 2020.02.18