Skip to content

1주차 코딩테스트를 위한 파이썬

Wonjun You edited this page Jan 8, 2023 · 3 revisions

입력 및 출력

1. 입력

  • 기본적인 형태
s = input() # 문자를 입력 받는 경우

num = int(input()) # 숫자를 입력 받는 경우

  • 여러 개의 입력값을 동시에 입력 받는 경우
s1, s2 = input().split()

num1, num2 = map(int, input().split())

  • 빠른 입력(sys 모듈 이용)
import sys

a = sys.stdin.readline()

import sys

input = sys.stdin.readline

a = input()

  • 여러 개의 입력값을 동시에 받는 경우
import sys

input = sys.stdin.readline

a, b ,c = map(int, input().split()) # case 1 : 입력값의 개수가 정해진 경우
data = list(map(int, input.split())) # case 2 : 입력값의 개수가 정해지지 않은 경우 : 리스트

# case 3 : 만약에 2차원 배열의 입력을 받고 싶다.?

numbers = []

for i in range(n):
	numbers.append(list(map(int, input().split()))

2. 출력

a = 3

print(a) # 기본 형태 

print(a, end="") # 개행 문자 제거

enumerate

enumerate()는 순서가 있는 자료형(list, set, tuple)등을 인덱스를 포함한 enumerate 객체로 리턴한다. 사용 시에는 enumerate 객체를 list로 감싸서 사용한다.

data = [25, 50, 75, 100]

print(list(enumerate(data))
# [(0, 25), (1, 50), (2, 75), (3, 100)]

인덱스와 함께 출력할 때 유용하다.

data = [25, 50, 75, 100]

# for문 사용
for i in range(len(data)):
    print(i, a[i])

# enumerate 사용
for i, v in enumerate(data):
    print(i, v)

딕셔너리의 값 출력

data = {"key1":"value1", "key2", "value2"}

# 1. 딕셔너리의 key 출력
for key in data.keys():
    print(key)

# 2. 딕셔너리의 value 출력
for value in data.values():
    print(value)

# 3. 딕셔너리의 key, value 동시 출력
for key, value in data.items():
    print(k, v)

Counter

Counter 객체는 아이템에 대한 개수를 계산하여 딕셔너리를 리턴한다.

from collections import Counter

data = [1, 1, 2, 2, 3, 3, 3]
counter = Counter(data)

print(counter.most_common())
# [(3, 3), (1, 2), (2, 2)]

print(counter.most_common(2))
# [(3, 3), (1, 2)]

defaultdict

기존 딕셔너리와 다르게 존재하지 않는 키를 찾는 경우, 에러를 발생시키는 대신 디폴트 값을 기준으로 해당 키에 아이템 하나를 자동으로 생성한다.

from collections import defaultdict

dic = defaultdict(int)

dic["key1"] = 50
dic["key2"] = 2000

# 출력
for k, v in dic.items():
    print(k, v)

key1 50
key2 2000
Clone this wiki locally