정글에서 온 개발자

백준 문제 편하게 풀기 본문

정리

백준 문제 편하게 풀기

dev-diver 2023. 10. 14. 17:18

문제

  • stdin을 일일히 넣는게 너무 귀찮다.

접근

  • stdin파일을 미리 만들어놓고 편하게 쓸 순 없을까?

해결

  • stdin redirect라는 방법이 있다.
  • shell 에서 < 연산자를 통해 표준 입력을 파일로부터 받을 수 있다.
  • test용 파이썬 코드(test.py)가 있는 디렉토리에 stdin 파일을 만들어놓고 리다이렉트를한다.
> python test.py < stdin

결과

Visual Studio Code에서 하면 더욱 편하다. shell을 켜고(ctrl + ` ) 위 명령어를 입력한다.

백준 문제 테스트
VSC 백준 문제 풀이 셋팅

잘 나온다. 다음 실행때는 화살표 위방향만 누르면 이전 명령이 나오므로 방향키 윗쪽 누르고 엔터만 치면 된다.

파이썬 말고 다른 언어에도 적용할 수 있을 것으로 보인다. repl.it 에서도 shell이 있어 쉽다. 윈도우에서 에러가 나면 터미널이 문제일 가능성이 크다. 아래처럼 터미널을 bash로 바꾸면 된다.

윈도우 터미널 bash로 바꾸기
윈도우 터미널 변경. 터미널 창 맨 왼쪽에 있다.

추가

  • 파이썬에서 일반적으로 input() 보다 sys.stdin.readline() 이 더 빠르다.
  • 맨 위에 아래 추가하면 기존에 input으로 풀었던 문제도 sys.stdin.readline 으로 돌아가게 할 수 있다.
import sys
input = sys.stdin.readline   #  호출 구문인 () 없음에 주의
import sys
input = sys.stdin.readline
a=input()
print(a)

추추가 - 기본 언어 설정

  • 정답 나올 것 같아서 신나게 복붙해서 제출 눌렀는데, 언어 선택 잘못해서 억울하게 틀렸던 경험. 다들 있으시죠?
  • 왼쪽 위의 [설정] - [언어] 를 하고  내가 지금 주로 쓰는 언어를 드래그해 맨 위로 드롭하면 "기본 언어"가 된다.

백준 파이썬으로 기본 언어 설정
겉보기완 다르게 고급 UX가 제공되는 백준

2023.10.19 - [정리] - 백준 '더' 편하게 풀기(문제에만 집중할 수 있게)