input()
한 줄의 문자열을 입력받을 때
str = input() # 문자열
num = int(input()) # 정수형
a, b = input().split() # 띄어쓰기로 구분되는 값
map()
여러개의 값을 일차원 배열로 입력받을 때
리스트의 모든 원소에 각각 특정한 함수를 적용할 때
- javascript map이랑 비슷하지만 python의 map은 map 객체라는 Iterable한 객체를 반환하고, 이를 list, tuple로 변환하여 사용해야 한다
- 그래서 밑에 예제에서도 list로 변환해주고 있다
arr = list(map(int, input().split())) # 띄어쓰기로 구분하는 정수형
sys.stdin
파일 입출력 시
sys.stdin = open("input.txt", "r")
- stdin : standart input의 약자. stdout(standard out), stderr(standard error)도 있음
for
여러값을 배열로 입력받는 경우
여러개의 값을 일차원 배열로 입력받을 때
arr = []
for i in range(n):
arr.append(int(input())) # 띄어쓰기로 구분하는 정수형인데 n값도 함께 입력받는 경우
arr = [int(input()) for _ in range(n)] # 엔터로 구분하는 정수형. n이 엔터 횟수
arr = [input() for _ in range(i)] # 엔터로 구분하는 문자열. 배열 속 문자열 하나하나가 값으로 입력됨
여러개의 값을 이차원 배열로 입력 받을 때 (이차원 배열 === 테이블
arr[first][second] # first second 사이는 엔터로 구분됨
arr = [list(map(int, input()) for _ in range(n)]
# 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제1 참고
arr = [list(map(int, input().split())) for _ in range(n)]
# 띄어쓰기로 구분하는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제 2 참고
(예제1) 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
(예제2) 띄어쓰기 구분이 있는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input().split())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
정수 → 배열로
num = 12345
arr = list(map(int, str(num))
빠른 입력
import sys
n = int(sys.stdin.readline())
print(n)
- sys : 시스템 관련 작업을 수행할 수 있는 다양한 함수와 변수 제공
- sys.stdin()
- 표준 입력 스트림
- .readline()
- 입력된 한 줄을 문자열로 읽음
- 위 예제 코드를 실행시키고 123을 입력했더니 123이 출력됐다
🤨 흠.. 그럼 input하고는 뭐가 다르지..?
sys.stdin.readlin() 이 input() 함수보다 더 빠르게 입력을 읽을 수 있다고 한다. 그래서 큰 입력을 효율적으로 처리할 때 사용된다고. 123 같은거 말고
😏 이차원 배열을 sys를 사용해서 받아보고 싶어졌다
import sys
input = sys.stdin.read # 우선 입력을 한번에 읽어온다
data = input().strip().split("\\n") # 입력을 줄 단위로 나누어 리스트로 변환한다
# strip() = trim()
n = int(data[0].strip())
# 첫번째 줄(0번째 인덱스)에는 배열의 크기 등 이차원 배열의 값 외에 다른 정보가 들어갈 수 있다
# 지금은 배열의 행 수를 입력했다고 가정하고 뽑아내겠음
array = []
for i in range(1, n+1):
row = list(map(int, data[i].strip().split())) # 각 줄을 정수 리스트로 반환한다
array.append(row) # append() = push()
print(array)
위 코드를 실행해보자
# 입력값
3
1 2 3
4 5 6
7 8 9
# 입력값을 다 넣었다는 신호를 ctrl+D로 줘야한다.
쨘! 🎉
input()
한 줄의 문자열을 입력받을 때
str = input() # 문자열
num = int(input()) # 정수형
a, b = input().split() # 띄어쓰기로 구분되는 값
map()
여러개의 값을 일차원 배열로 입력받을 때
리스트의 모든 원소에 각각 특정한 함수를 적용할 때
- javascript map이랑 비슷하지만 python의 map은 map 객체라는 Iterable한 객체를 반환하고, 이를 list, tuple로 변환하여 사용해야 한다
- 그래서 밑에 예제에서도 list로 변환해주고 있다
arr = list(map(int, input().split())) # 띄어쓰기로 구분하는 정수형
sys.stdin
파일 입출력 시
sys.stdin = open("input.txt", "r")
- stdin : standart input의 약자. stdout(standard out), stderr(standard error)도 있음
for
여러값을 배열로 입력받는 경우
여러개의 값을 일차원 배열로 입력받을 때
arr = []
for i in range(n):
arr.append(int(input())) # 띄어쓰기로 구분하는 정수형인데 n값도 함께 입력받는 경우
arr = [int(input()) for _ in range(n)] # 엔터로 구분하는 정수형. n이 엔터 횟수
arr = [input() for _ in range(i)] # 엔터로 구분하는 문자열. 배열 속 문자열 하나하나가 값으로 입력됨
여러개의 값을 이차원 배열로 입력 받을 때 (이차원 배열 === 테이블
arr[first][second] # first second 사이는 엔터로 구분됨
arr = [list(map(int, input()) for _ in range(n)]
# 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제1 참고
arr = [list(map(int, input().split())) for _ in range(n)]
# 띄어쓰기로 구분하는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제 2 참고
(예제1) 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
(예제2) 띄어쓰기 구분이 있는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input().split())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
정수 → 배열로
num = 12345
arr = list(map(int, str(num))
빠른 입력
import sys
n = int(sys.stdin.readline())
print(n)
- sys : 시스템 관련 작업을 수행할 수 있는 다양한 함수와 변수 제공
- sys.stdin()
- 표준 입력 스트림
- .readline()
- 입력된 한 줄을 문자열로 읽음
- 위 예제 코드를 실행시키고 123을 입력했더니 123이 출력됐다
🤨 흠.. 그럼 input하고는 뭐가 다르지..?
sys.stdin.readlin() 이 input() 함수보다 더 빠르게 입력을 읽을 수 있다고 한다. 그래서 큰 입력을 효율적으로 처리할 때 사용된다고. 123 같은거 말고
😏 이차원 배열을 sys를 사용해서 받아보고 싶어졌다
import sys
input = sys.stdin.read # 우선 입력을 한번에 읽어온다
data = input().strip().split("\\n") # 입력을 줄 단위로 나누어 리스트로 변환한다
# strip() = trim()
n = int(data[0].strip())
# 첫번째 줄(0번째 인덱스)에는 배열의 크기 등 이차원 배열의 값 외에 다른 정보가 들어갈 수 있다
# 지금은 배열의 행 수를 입력했다고 가정하고 뽑아내겠음
array = []
for i in range(1, n+1):
row = list(map(int, data[i].strip().split())) # 각 줄을 정수 리스트로 반환한다
array.append(row) # append() = push()
print(array)
위 코드를 실행해보자
# 입력값
3
1 2 3
4 5 6
7 8 9
# 입력값을 다 넣었다는 신호를 ctrl+D로 줘야한다.
쨘! 🎉
input()
한 줄의 문자열을 입력받을 때
str = input() # 문자열
num = int(input()) # 정수형
a, b = input().split() # 띄어쓰기로 구분되는 값
map()
여러개의 값을 일차원 배열로 입력받을 때
리스트의 모든 원소에 각각 특정한 함수를 적용할 때
- javascript map이랑 비슷하지만 python의 map은 map 객체라는 Iterable한 객체를 반환하고, 이를 list, tuple로 변환하여 사용해야 한다
- 그래서 밑에 예제에서도 list로 변환해주고 있다
arr = list(map(int, input().split())) # 띄어쓰기로 구분하는 정수형
sys.stdin
파일 입출력 시
sys.stdin = open("input.txt", "r")
- stdin : standart input의 약자. stdout(standard out), stderr(standard error)도 있음
for
여러값을 배열로 입력받는 경우
여러개의 값을 일차원 배열로 입력받을 때
arr = []
for i in range(n):
arr.append(int(input())) # 띄어쓰기로 구분하는 정수형인데 n값도 함께 입력받는 경우
arr = [int(input()) for _ in range(n)] # 엔터로 구분하는 정수형. n이 엔터 횟수
arr = [input() for _ in range(i)] # 엔터로 구분하는 문자열. 배열 속 문자열 하나하나가 값으로 입력됨
여러개의 값을 이차원 배열로 입력 받을 때 (이차원 배열 === 테이블
arr[first][second] # first second 사이는 엔터로 구분됨
arr = [list(map(int, input()) for _ in range(n)]
# 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제1 참고
arr = [list(map(int, input().split())) for _ in range(n)]
# 띄어쓰기로 구분하는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제 2 참고
(예제1) 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
(예제2) 띄어쓰기 구분이 있는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input().split())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
정수 → 배열로
num = 12345
arr = list(map(int, str(num))
빠른 입력
import sys
n = int(sys.stdin.readline())
print(n)
- sys : 시스템 관련 작업을 수행할 수 있는 다양한 함수와 변수 제공
- sys.stdin()
- 표준 입력 스트림
- .readline()
- 입력된 한 줄을 문자열로 읽음
- 위 예제 코드를 실행시키고 123을 입력했더니 123이 출력됐다
🤨 흠.. 그럼 input하고는 뭐가 다르지..?
sys.stdin.readlin() 이 input() 함수보다 더 빠르게 입력을 읽을 수 있다고 한다. 그래서 큰 입력을 효율적으로 처리할 때 사용된다고. 123 같은거 말고
😏 이차원 배열을 sys를 사용해서 받아보고 싶어졌다
import sys
input = sys.stdin.read # 우선 입력을 한번에 읽어온다
data = input().strip().split("\\n") # 입력을 줄 단위로 나누어 리스트로 변환한다
# strip() = trim()
n = int(data[0].strip())
# 첫번째 줄(0번째 인덱스)에는 배열의 크기 등 이차원 배열의 값 외에 다른 정보가 들어갈 수 있다
# 지금은 배열의 행 수를 입력했다고 가정하고 뽑아내겠음
array = []
for i in range(1, n+1):
row = list(map(int, data[i].strip().split())) # 각 줄을 정수 리스트로 반환한다
array.append(row) # append() = push()
print(array)
위 코드를 실행해보자
# 입력값
3
1 2 3
4 5 6
7 8 9
# 입력값을 다 넣었다는 신호를 ctrl+D로 줘야한다.
쨘! 🎉
input()
한 줄의 문자열을 입력받을 때
str = input() # 문자열
num = int(input()) # 정수형
a, b = input().split() # 띄어쓰기로 구분되는 값
map()
여러개의 값을 일차원 배열로 입력받을 때
리스트의 모든 원소에 각각 특정한 함수를 적용할 때
- javascript map이랑 비슷하지만 python의 map은 map 객체라는 Iterable한 객체를 반환하고, 이를 list, tuple로 변환하여 사용해야 한다
- 그래서 밑에 예제에서도 list로 변환해주고 있다
arr = list(map(int, input().split())) # 띄어쓰기로 구분하는 정수형
sys.stdin
파일 입출력 시
sys.stdin = open("input.txt", "r")
- stdin : standart input의 약자. stdout(standard out), stderr(standard error)도 있음
for
여러값을 배열로 입력받는 경우
여러개의 값을 일차원 배열로 입력받을 때
arr = []
for i in range(n):
arr.append(int(input())) # 띄어쓰기로 구분하는 정수형인데 n값도 함께 입력받는 경우
arr = [int(input()) for _ in range(n)] # 엔터로 구분하는 정수형. n이 엔터 횟수
arr = [input() for _ in range(i)] # 엔터로 구분하는 문자열. 배열 속 문자열 하나하나가 값으로 입력됨
여러개의 값을 이차원 배열로 입력 받을 때 (이차원 배열 === 테이블
arr[first][second] # first second 사이는 엔터로 구분됨
arr = [list(map(int, input()) for _ in range(n)]
# 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제1 참고
arr = [list(map(int, input().split())) for _ in range(n)]
# 띄어쓰기로 구분하는 문자열(숫자로 구성된)을 하나하나 받을 때. 아래 예제 2 참고
(예제1) 띄어쓰기 구분이 없는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
(예제2) 띄어쓰기 구분이 있는 문자열(숫자로 구성된)을 하나하나 뽑아낼때
n = 3 # 입력을 세번 받음
arr = [list(map(int, input().split())) for _ in range(n)]
print(arr)
- 123, 456, 789 를 입력해보았다
정수 → 배열로
num = 12345
arr = list(map(int, str(num))
빠른 입력
import sys
n = int(sys.stdin.readline())
print(n)
- sys : 시스템 관련 작업을 수행할 수 있는 다양한 함수와 변수 제공
- sys.stdin()
- 표준 입력 스트림
- .readline()
- 입력된 한 줄을 문자열로 읽음
- 위 예제 코드를 실행시키고 123을 입력했더니 123이 출력됐다
🤨 흠.. 그럼 input하고는 뭐가 다르지..?
sys.stdin.readlin() 이 input() 함수보다 더 빠르게 입력을 읽을 수 있다고 한다. 그래서 큰 입력을 효율적으로 처리할 때 사용된다고. 123 같은거 말고
😏 이차원 배열을 sys를 사용해서 받아보고 싶어졌다
import sys
input = sys.stdin.read # 우선 입력을 한번에 읽어온다
data = input().strip().split("\\n") # 입력을 줄 단위로 나누어 리스트로 변환한다
# strip() = trim()
n = int(data[0].strip())
# 첫번째 줄(0번째 인덱스)에는 배열의 크기 등 이차원 배열의 값 외에 다른 정보가 들어갈 수 있다
# 지금은 배열의 행 수를 입력했다고 가정하고 뽑아내겠음
array = []
for i in range(1, n+1):
row = list(map(int, data[i].strip().split())) # 각 줄을 정수 리스트로 반환한다
array.append(row) # append() = push()
print(array)
위 코드를 실행해보자
# 입력값
3
1 2 3
4 5 6
7 8 9
# 입력값을 다 넣었다는 신호를 ctrl+D로 줘야한다.
쨘! 🎉
'Algorithm > 기본 지식' 카테고리의 다른 글
lambda 함수란? (0) | 2024.07.26 |
---|