파이썬
IDE 활용하기
익숙한 IDE 에서 풀고 디버깅까지 마친 후에 코드만 복붙으로 제출하는게 가장 편한 것 같습니다.
입력값을 전달하는 가장 좋은 방법은 input.txt 를 하나 만들어서 거기에 복붙해넣고 돌리는 방식입니다.
다음은 제 백준용 환경인데요,
baekjoon.py 에 코드를 작성하고, input.txt 에 인풋값을 복붙하면서 돌려서 테스트합니다.
주피터노트북도 만들어놓긴 했지만 쓸일은 없더라구요..ㅎㅎ 파이썬 파일 하나로 충분합니다.
< TMI 주의 >
완성한 코드는 baekjoon.py 파일을 고대로 복사해서 daily_baekjoon 폴더에 붙여넣고 파일명만 수정해서 깃헙에 푸시합니다. 이건 그냥 개인적인 만족감으로 하고 있습니다.
중요한건 baekjoon.py 에 항상 적혀있는 코드겠죠? 다음과 같습니다.
Python 기본 양식
import sys
sys.stdin = open("input.txt가 있는 경로", "r")
# https://www.acmicpc.net/problem/2304
# 23.06.21
# 10:43 ~ 10:58
# 여기서부터 복사해서 제출
import sys
def solution(input) :
# 여기에 풀이 작성
N = int(input().strip())
input = sys.stdin.readline
solution(input)
sys.stdin 으로 읽어오는게 내장 input()보다 빠르고 백준에서 시간제한이 중요한 알고리즘 문제들 같은 경우에 빡빡한 시간제한 때문에 sys.stdin 과 pypy 가 필수적으로 요구되는 경우가 있습니다. 항상 저렇게 해놓으면 문제가 발생하지 않아서 편합니다.
< TMI 주의 >
가끔 import sys 를 복사를 안한다거나, input.txt 를 읽어오는 부분을 삭제를 안하고 제출해버리는 경우들이 있어서 그냥 import 문을 두번 적었습니다. 풀이에 필요한 import 는 아래쪽 import sys 밑으로 작성하는 편입니다.
Python 미리 알아두면 좋은 소소한 팁들
시간 제한이 빡센 문제들의 경우 알고리즘 이외의 부분에서 문제가 발생하는 경우가 왕왕 있습니다. 그땐 stdin과 pypy를 꼭 기억해내세요
1. sys.stdin 을 사용할것
2. 시간제한이 빡센 문제는 pypy 를 사용할 것
3. 메모리제한이 빡센 문제는 python3 를 사용할 것
4. import 문 빼먹지 않았는지 체크할 것
5. solution 을 (나처럼) 함수화 했다면 솔루션 함수를 불러오는 부분을 잘 복붙했는지 확인할 것
'Algorithem > 백준 PS with code' 카테고리의 다른 글
백준 #2075 - [S2] N번째 큰 수 : 최소힙 (0) | 2023.06.26 |
---|---|
백준 #1713 - [S1] 후보 추천하기 : 정렬 (0) | 2023.06.24 |
백준 #2304 - [S2] 창고 다각형 : 구현 (0) | 2023.06.21 |
백준 #1406 - [S2] 에디터 : 스택 (0) | 2023.06.20 |
백준 #2098 - [G1] 외판원 순회 : DP,비트마스킹 (0) | 2023.06.15 |