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

함께 공부할 문제 리스트

난이도 문제명 분류
[2753] 윤년 수학 구현 사칙연산
[8393] 알람 시계 수학 구현
[2438] 별 찍기 - 1 구현
[2439] 별 찍기 - 2 구현
[15552] 빠른 A+B 수학 구현 사칙연산
[11720] 숫자의 합 수학 구현 문자열
[2884] 알람 시계 수학 사칙연산
[10818] 최소, 최대 수학 구현
[2566] 최댓값 구현
[3052] 나머지 수학 사칙연산
[1152] 단어의 개수 구현 문자열
[1157] 단어 공부 구현 문자열
[2869] 달팽이는 올라가고 싶다 수학
[10815] 숫자 카드 자료 구조 정렬 이분 탐색
[7568] 덩치 구현 브루트포스 알고리즘
[11478] 서로 다른 부분 문자열의 개수 자료 구조 문자열 해시
[13305] 주유소 그리디 알고리즘
[1011] Fly me to the Alpha Centauri 수학
Clone this wiki locally