이 영역을 누르면 첫 페이지로 이동
컴01기 블로그의 첫 페이지로 이동

컴01기

페이지 맨 위로 올라가기

컴01기

힝입니다.

[백준/Python/메모] 빠른 입출력 관련

  • 2022.01.09 07:28
  • 🐹알고리즘

입력 데이터 생성

import sys
import time

output = open('/content/boj.txt', 'w')

for i in range(100000):
  output.write(str(i)+ '\n')
output.close()
end = time.time()

 

입력 메소드 3가지

# method A
data = input()

# method B
data = sys.stdin.readline()

# method C
input = sys.stdin.readline
data = input()

 

입력 메소드 별 시간 비교

# method A

input = open('/content/boj.txt', 'r').readline
input_list = []

start = time.time()
for _ in range(100000):
  input_list.append(input())
end = time.time()

print(f"{end - start : .8f} sec")

 

# method B

del input

sys.stdin = open('/content/boj.txt', 'r')
input_list = []

start = time.time()
for _ in range(100000):
  input_list.append(sys.stdin.readline())
end = time.time()

print(f"{end - start : .8f} sec")

 

# method C

del sys.stdin

input = open('/content/boj.txt', 'r').readline
input_list = []

start = time.time()
for _ in range(100000):
  input_list.append(input())
end = time.time()

print(f"{end - start : .8f} sec")

 

input 방법 A B C
소요 시간 (sec) 0.03562999 0.04108572 0.03076172

 

출력 (input method C 기준 비교)

# method output-a
input = open('/content/boj.txt', 'r').readline
start = time.time()
for _ in range(100000):
  print(input(), end = '')
end = time.time()
print(f"{end - start : .8f} sec") # 0.92579961 sec

 

# method output-b
input = open('/content/boj.txt', 'r').readline
num_list = []

for _ in range(100000):
  num_list.append(input().rstrip())

start = time.time()
print(num_list)
end = time.time()
print(f"{end - start : .8f} sec")
output 방법 output-a output-b
소요 시간 (sec) 0.03558874 sec 0.00975847 sec

 

.rstrip()

  • 문자열을 입력 받는 경우, 맨 끝의 개행문자를 제거하기 위함
  • map(int, input().split()) 처럼 형 변환 하는 경우에는 .rstrip() 안 써도 됨

 

 

참고

백준 15552번 (빠른 A+B) : https://www.acmicpc.net/problem/15552

Python 3.10.1 문서 (입력과 출력) : https://docs.python.org/ko/3/tutorial/inputoutput.html#input-and-output

 

 

더보기
더보기

출력 형태가 지금 서로 달라서... 이런 거 정량적으로 어떻게 측정하는지 찾아봐야할듯 🤔

코드 상으로 봤을 때는 차이점을 잘 모르겠어서, 일단 실행시간이나 계산해봤다!

f-string 이랑도 더 친해지고... 나름 괜찮았던 것 같음!

저작자표시 (새창열림)

'🐹알고리즘' 카테고리의 다른 글

[백준/C] 4673번 : 셀프 넘버  (0) 2020.08.18
알고리즘을 시작하며...  (0) 2020.07.17
[파이썬] 한 줄에 정수 2개 입력 받기  (0) 2020.06.12

댓글

이 글 공유하기

  • 구독하기

    구독하기

  • 카카오톡

    카카오톡

  • 라인

    라인

  • 트위터

    트위터

  • Facebook

    Facebook

  • 카카오스토리

    카카오스토리

  • 밴드

    밴드

  • 네이버 블로그

    네이버 블로그

  • Pocket

    Pocket

  • Evernote

    Evernote

다른 글

  • [백준/C] 4673번 : 셀프 넘버

    [백준/C] 4673번 : 셀프 넘버

    2020.08.18
  • 알고리즘을 시작하며...

    알고리즘을 시작하며...

    2020.07.17
  • [파이썬] 한 줄에 정수 2개 입력 받기

    [파이썬] 한 줄에 정수 2개 입력 받기

    2020.06.12
다른 글 더 둘러보기

정보

컴01기 블로그의 첫 페이지로 이동

컴01기

  • 컴01기의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 방명록

카테고리

  • 분류 전체보기 (87)
    • 📰논문 리뷰 (16)
    • 🍒회고록 (4)
    • 🖤네이버 ai tech (0)
    • ✨글쓰는힝 (1)
    • 🔥취준일기 (2)
    • 🎲유니티 (2)
    • 🔨삽질 (10)
    • 📚 서적 리뷰 (4)
    • 🐹알고리즘 (4)
    • 😎정리하는 카테고리 (4)
    • 📝CS 공부 (6)
      • 운영체제 (1)
      • 네트워크 (4)
      • 리팩토링 (1)
    • etc (22)
      • 혼공단 (7)
      • Spring (7)
      • JS (1)
      • OpenCV (2)
      • Unity (5)

최근 글

인기 글

댓글

태그

  • unity
  • 혼공머신
  • github
  • 혼공학습단
  • 혼공SQL
  • 백준
  • 회고록
  • 혼공단

나의 외부 링크

  • Github
  • Youtube

정보

힝님의 컴01기

컴01기

힝님

방문자

  • 전체 방문자
  • 오늘
  • 어제

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 힝님. Designed by Fraccino.

티스토리툴바