일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- html
- java
- visual studio code
- BOBF
- 자바
- 자바 클래스
- 맥북
- module
- Eclipse
- python
- ui5
- 클래스
- FPM
- Fiori
- 파이썬
- BTP
- S/4HANA
- Algorithm
- mac
- 알고리즘
- udemy
- 백준 알고리즘
- Deep Learning
- 이클립스
- BOPF
- 개발
- ABAP
- tm
- SAP 번역
- sap
Archives
- Today
- Total
z2soo's Blog
Skills for Short coding 본문
반응형
1. 입력 시간 단축
from sys import stdin
# 기존 코드
N, M, V = map(int, input().split())
# 새로운 코드
N, M, V = map(int, stdin.readline().split())
2. 공백 생성
띄어쓰기가 되지 않은 값을 입력받는 경우 split()가 적용되지 않기 때문에, 이를 구분해서 저장하는 것에 애를 먹는 경우가 있다. 그 때는 다음의 코드를 사용한다.
from sys import stdin
# 기존 코드
# 새로운 코드
stdin.readline().rstrip()
3. Deque 자료구조 사용
파이썬에는 사실상 que 자료구조가 없고 리스트를 que 처럼 사용하는 상태이다. 그 단점은 복수 스레드 사용으로 시간이 오래걸린다는 것! 그러나 collections에서 deque 자료구조는 제공해주기 때문에 이제는 list를 사용하지 말고 deque를 받아 que처럼 사용하자.
from collections import deque
# 기존 코드
que = []
# 새로운 코드
deq = collections.deque()
4. PyPy3
Python이랑 동일한 문법과 Python과 온전히(?) 동일하지만, 내부적으로 다르게 설계되어있어 시간이 빠름! 혹시 시간초과로 인한 문제를 겪고 있다면 한 번 PyPy3 언어로 제출해보자.
5. Dictionary 자료구조 사용
key-value 쌍으로 구현된 dictionary 자료구조를 잘 활용해본다. 백준 17825번 윷놀이 문제의 경우 상당히 도움이 될 것이며, 배열을 사용한 부분은 다 대체 사용이 가능하다. 단, 메모리 초과에 대해 범위 설정이 필수적이다.
#예를 들어서 10개의 지점을 방문했는지 체크하기 위해서 visited 방문정보를 저장하는 경우
# 기존 코드
visited = [0 for _ in range(10)]if visited[x] == 0:
visited[x] = 1
# 새로운 코드
visited = {}if not 0 <= nextX <= 100000:
continueif not nextX in visited:
visited[x] = 1
반응형
'Algorithm > Algorithm 개념' 카테고리의 다른 글
스택 (Stack) & 큐 (Queue) (0) | 2022.11.25 |
---|
Comments