Stack
-
백준 1406번 어떻게 풀었나. 파이썬 내장함수 시간복잡도 정리백준 2023. 1. 6. 00:01
푼 방법 처음엔 insert와 del을 사용하였다. 그랬더니 시간초과가 나왔다. 왜 그린지 못찾겠어서 구글링했다. insert와 del은 시간복잡도가 O(n)이다. 사용을 지양하는 것이 좋다. 구글링을 한 결과, 스택을 두개 사용하여 풀 수 있었다. 고치면 좋을 부분 파이썬의 내장함수의 시간복잡도를 잘 알아야 겠다. 걸리는 시간을 고려하지 않고 작성했다. 계획하기 단계를 좀 더 체계적으로 해야 될거 같다 .readline().strip() 보다 .readline().rstrip()이 더 빠를거 같다. 파이썬 내장함수 시간복잡도 정리 https://wayhome25.github.io/python/2017/06/14/time-complexity/ 코드 import sys stackLeft = list(sys..
-
백준 10828번 어떻게 풀었나, 스택(Stack) 구현백준 2023. 1. 5. 00:01
푼 방법 문제에 적혀있는 데로 구현 해 주었다.. 더 알고 싶은 부분 한줄에 조건문 쓰는 법 if 아래 두 코드는 똑같다. if animal is dog: ret = dog if animal is dog: ret = dog if - else 결과 = A if 조건 else B if - elif - else 결과 = A if 조건 else B if 조건 else C 코드 import sys N = int(sys.stdin.readline()) stack = [] for i in range(N): cmd = sys.stdin.readline().strip() # push X: 정수 X를 스택에 넣는 연산이다. if "push" in cmd: stack.append(cmd[5:]) # pop: 스택에서 가장 ..