본문 바로가기
알고리즘

코딩테스트에서 가장 기본적인 파이썬 코드 정리 (입력, 누적합 등)

by 개발하는 감자입니다 2023. 12. 31.
728x90

안녕하세요. 개발감자 박그냥입니다!🥔

오늘은 코딩 테스트에서 가장 기본적인 파이썬 코드를 정리해보도록 하겠습니다.

제가 공부하면서 계속 업데이트할 예정입니다 ㅎㅎ

 

1.  입력받을 때

import sys

N = int(input()) # 하나만 입력 받을 때
M, K = map (int, input().split()) # 2개를 한 번에 입력 받을 때
A = list(input()) # 공백없이 입력받아 리스트로 저장할 때
A = list(map (int, input().split())) # 공백 포함해 입력받아 리스트로 저장할 때

 

 

2.  2차원 리스트 생성하는 방법 (행 4 열 3인 리스트 생성하는 예시)

A = [[0 for col in range(4)] for row in range(3)]

 

3.  파이썬에서 형 변환

int(data) # float, bool 변환 가능
float(data) # int, bool 변환 가능
str(data) # int, bool. float, chr 변환 가능
chr(data) # int, bool 변환 가능
bool(data) # int, float, str, chr 변환 가능

 

bool(data)의 경우 데이터가 0인지 아닌지(Int, float)에 따라, 값이 비어있는지 아닌지(str, chr) 에 따라 True False를 반환합니다.

 

4.  누적합 구하기

numbers = list(map(int, input().split()))

prefix_sum = [0] # 누적합 담을 리스트
temp = 0

for num in numbers:
    temp += num
    prefix_sum.append(temp)

 

5. 절댓값 구하기

a = abs(data) # data의 절댓값을 a에 저장한다

 

6. 큐와 우선순위 큐 구현하기

1) 큐

from collections import deque

# 빈 리스트를 이용한 큐 생성
queue = []

# 큐에 요소 추가 (enqueue)
queue.append(1)
queue.append(2)
queue.append(3)

# 큐에서 요소 제거 (dequeue)
print(queue.pop(0))  # 출력: 1

# 큐가 비어있는지 확인
print(len(queue) == 0)  # 출력: False

 

2) 우선순위 큐

from queue import PriorityQueue

# 우선순위 큐 생성
pq = PriorityQueue()

# 요소 추가
pq.put((3, "Apple"))
pq.put((1, "Banana"))
pq.put((2, "Orange"))

# 요소 제거
print(pq.get())  # 출력: (1, 'Banana')

# 제거하는 값 입력받기
a, b = pq.get()  # a = 2, b = 'Orange'

 

7. recursionError(런타임 에러) 발생 시 해결 방법

sys.setrecursionlimit(10**6)  # 예: 최대 재귀 호출 횟수를 10^6으로 설정
728x90
반응형