<jupyter_start><jupyter_text>알고리즘 문제 풀기용 input 코드 모음(python)
> 백준 알고리즘 문제 풀이를 위한 python input 코드 모음

- toc:true
- branch: master
- badges: true
- comments: true
- author: <NAME>
- categories: [boj, 백준]  참고

 - [블로그](https://paris-in-the-rain.tistory.com/72) 
 - 그외 백준 공식 레퍼런스
  input.txt를 이용한 local 풀이 구조

- 폴더
    - input.txt
    - xxx.py<jupyter_code>################ Input From input.txt ################
import sys

sys.stdin = open("./input.txt", "rt")
######################################################
N = int(input())
# print(N)
data = list(map(int, input().split()))
# print(data)<jupyter_output><empty_output><jupyter_text>공백 기준 데이터 입력받기(map, int, input.split )

 - map객체를 이용해 str -> int 변환했지만, sequence는 아니라 인덱싱을 못한다.
    - a, b = map : 인덱싱은 못해도 할당시 나눠받을 수 있다.
    - list_ = list(map) : 할당시 나눠받기가 불가능할 정도로 많으면, list()로 sequence로 변환시켜 받아야한다.<jupyter_code># 1개 - int (1개는 맵-> 튜플언패킹이 아니라 map객체다. 못뽑음)
# - 1개는 map쓰지말자~!
n = int(input().strip())



# 2개 - int 
a, b= map(int, input().split())

# for문으로 n번 2개씩
n = int(input().strip())
for _ in range(n):
    a, b= map(int, input().split())



# 3개이상의 - list
data = list(map(int, input().split()))

# for문으로 n번  3개이상시
n = int(input().strip())
for _ in range(n):
    data = list(map(int, input().split()))<jupyter_output><empty_output><jupyter_text>시간을 더 빠르게  데이터 입력받기(sys 모듈)
 - sys.stdin.readline() 사용
 - 단, 입력 후 엔터가 사용되므로 rstrip() 를 함께 사용<jupyter_code># 문자열 1개 입력 받기
import sys
str = sys.stdin.readline().rstrip()

# 1개 - int
import sys
n = sys.stdin.readline()

# 2개 int 
import sys
N, M = map(int, sys.stdin.readline().split())


# 2차원 리스트 입력 받기
# - 행의 수 N을 입력받고, 각 행의 데이터들을 한번에 받아서 split()해서 열로 들어간다.
import sys
N = sys.stdin.readline()
board = [list(map(int,sys.stdin.readline().split())) for _ in range(N)]<jupyter_output><empty_output><jupyter_text>공백기준 출력시 \*(사용시언패킹)으로<jupyter_code>result = [1, 2, 3]

# 기본적인 리스트 출력시
print(result)
# [1,2,3]

# for loop으로 원소를 하나씩 출력
for i in range(len(result)):
    print(result[i], end=' ')
# 1 2 3

# 리스트의 원소를 언패킹 시켜서 출력
print(*result)
# 1 2 3<jupyter_output>[1, 2, 3]
1 2 3 1 2 3<jupyter_text>N x M 크기의 이차원 리스트 초기화 및 입력받기

시뮬레이션 문제에서 주어지는 입력 중 가장 많은 형태의 입력을 list comprehension 으로 받을 수 있다.<jupyter_code># N x M 리스트 초기화 ex) 해당 좌표에 방문 체크하는 배열
n, m = map(int, input().split())
board = [list(map(int, input().split())) for _ in range(n)]

visited = [[False]*m for _ in range(n)]

print(visited)
print(board)
# 입력(행 열 -> 열의 갯수만큼 False==0으로 채워진 행x열의 visited 2차원 리스트)
# 5 9
# 0 0 0 0 0 0 0 0 0
# 0 0 0 1 1 0 0 0 0
# 0 0 0 1 1 0 1 1 0
# 0 0 1 1 1 1 1 1 0
# 0 0 1 1 1 1 1 0 0<jupyter_output>[[False, False, False, False, False], [False, False, False, False, False], [False, False, False, False, False]]
[[3], [3], [3]]
{'fraction_non_alphanumeric': 0.18227484750627915, 'fraction_numerical': 0.03085755292429135, 'mean_word_length': 3.25, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 24, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 5, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '5', 'dir': 'jupyter-structured-clean-dedup', 'id': '79425', 'license': 'Apache-2.0', 'n_tokens_mistral': 1612, 'n_tokens_neox': 1797, 'n_words': 365, 'path': '_notebooks/2021-08-10-boj_input_codes.ipynb', 'repo_name': 'is2js/blog_raw', 'size': '2793'}