티스토리 뷰
백준BOJ 입력받기 - python - input, split, map, try except, sys.stdin
우징어🦑 2021. 2. 8. 00:58백준 문제풀이를 시작했다.
평소 프로그래머스 문제들만 풀다가 처음 백준을 풀기 시작했는데 변수 입력받는 것부터 헤매서 정리를 하려고 한다.
split()
a.split()처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 준다. 만약 b.split(':')처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다.
input().split()
여러개 입력받을 때. 리스트 형태로 반환
map
map(데이터 타입, 리스트) : 리스트 원소들을 해당 데이터 타입으로 변환
# sys.stdin.readline() 이용
import sys
a, b = map(int, sys.stdin.readline().split())
print(a+b)
# input() 이용
a, b = map(int, input().split())
print(a+b)
sys.stdin.readline()과 input()의 차이는 또 다른 글에서 정리해야겠다.
일단 전자가 더 빠른 방식이라는 것을 알고 넘어가자!
a = int(input())
b = int(input())
print(a+b)
n = int(input())
for _ in range(n):
a,b = map(int, input().split())
print(a+b)
for i in range(n) 에서 i가 의미 없을 때, _로 대체하여 반복문을 사용한다.
입력이 몇개인지 주어지지 않은 경우, EOF까지 입력받으면 된다.
while True:
try:
a, b = map(int, input().split())
print(a+b)
except:
break
try except 처리문
예외가 발생했을 때도 스크립트 실행을 중단하지 않고 계속 실행하게 해주는 예외 처리 방법.
try의 코드에서 에러가 발생했을 때만 except의 코드가 실행된다.
dojang.io/mod/page/view.php?id=2398
여기서 try except 문의 좀더 자세한 문법을 확인할 수 있다.
여러 줄을 입력받을 땐 sys.stdin를 이용할 수도 있다.
import sys
for line in sys.stdin:
a, b = map(int, line.split())
print(a+b)
sys.stdin을 이용하면 input보다 좀더 빠르게 처리된다.
이 문제에서는 효율성 측면에서 많이 도움되진 않지만 입력값이 많을 땐 input 보다 sys.stdin을 이용해야겠다.
'알고리즘, 코딩테스트 > BOJ 문제풀이' 카테고리의 다른 글
[BOJ 1541] 잃어버린 괄호 :: python 파이썬 (0) | 2022.04.24 |
---|---|
BOJ 10787번: 숨바꼭질6 [python] 코드와 풀이 - 여러 숫자의 최대공약수 (0) | 2021.02.11 |
[python] BOJ 백준 소수 관련 문제 - 1929, 6588 :: 소수구하기, 골드바흐의 추출 (0) | 2021.02.08 |
백준 BOJ 1158번 요세푸스 문제 [python] (0) | 2021.02.08 |
BOJ 백준 1406번 에디터 [python] (0) | 2021.02.08 |
- Total
- Today
- Yesterday
- vscode easycode
- partyrock생성
- partyrock사용볍
- BOJ
- easycode
- 알고리즘
- PYTHON
- 정적 웹사이트 배포
- React native 작동 원리
- easycode chatGPT
- S3배포
- 병돌리기구현
- mac vscode download fail
- aws생성형ai
- 생성형AI
- 파이썬
- 오블완
- S3 403 forbidden
- partyrock앱
- AWSBedrock
- 술자리병돌리기게임
- partyrock
- 정적 웹페이지 배포
- 티스토리챌린지
- partyrock무료
- ChatGPT
- 코딩테스트
- genaiapp
- 백준
- awsgenai
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |