Skip to content

Instantly share code, notes, and snippets.

@CT-1326
Last active May 20, 2024 06:47
Show Gist options
  • Save CT-1326/77020de8fc2addd148f9a43e71ef466d to your computer and use it in GitHub Desktop.
Save CT-1326/77020de8fc2addd148f9a43e71ef466d to your computer and use it in GitHub Desktop.
잊지 말자 Python
import sys

기본 sys 라이브러리 호출

sys.stdin.readline()

문자열 입력

read 함수별 차이

int(sys.stdin.readline())

정수 입력

map(int, sys.stdin.readline().split())

다중 입력

sys.stdin.readline()[1:-2].split(',')

입력 데이터의 범위 지정 및 구분점 필터링

input()

문자열 입력('\n'은 받지 않음)

print('test'*(n+1))

한줄에 N개의 단어 출력

print('test', end=' ')

자동 줄바꿈 처리 방지

print('test' + 'string')

한줄에 이어서 단어 출력

print("Case %d: %d" % (i+1, m+k))

%연산자로 출력문에 변수 출력

print(' '.join(map(str, num)))

int 형 리스트 한줄로 출력

print(r'!@#$%^&*(\'"<>?:;')

특수문자 출력 r

반복문

for i in range(n,0,-1):

역순으로 반복

for index, value in enumerate(a):
    print(index, value)

리스트의 인덱스 그리고 값을 함께 출력

for key, value in cnt.items():
    print(key, vale)

Counter 함수를 통해 생성된 딕셔너리의 key 와 value 값을 함께 출력

리스트

list(map(int, sys.stdin.readline().split()))

list(map(int, input())) // 띄어쓰기 없이

list 형태로 입력

num = [0 for i in range(10)]

visited = [False] * (n+1)

list 초기 값 설정

list[-1]

list에 가장 마지막 값

[[0] * 2 for i in range(n)]

num = [[] for _ in range(n+1)]

2차원 리스트 생성

visit = [[[0] * 2 for i in range(m)] for i in range(n)]

3차원 리스트 생성

arr = list(zip(*arr))[n]

list에 열(col) n 라인 만큼

num = []
set(num)

중복 제거된 리스트

리스트 요소 곱하기

리스트 요소 swap는 한줄로 가능

2개 이상의 리스트 반복문 시도는 zip

append vs extend

리스트 함수

문자열

문자열 함수

문자열 뒤집기

아스키 코드

ord('A')

특정 문자 코드 값으로 변환

chr(65)

코드 값을 문자로 변환

1부터 시작

[1:]

역순

[::-1]

기본적으로 sort는 100만 까지 가능

또한, 문자열 경우 알파벳 순으로 기본 정렬

예외처리

while True:
    try:
        n, m = map(int, sys.stdin.readline().split())
        print(n+m)
    except:
        break

입력 값이 없을 경우

Q 보단 DQ

from collections import deque

num = deque()
num.popleft()
num.appendleft()
num.rotate(n) // 음수는 왼쪽 회전, 양수는 오른쪽 회전

모든 Q 문제는 DQ로

최빈값

from collections import Counter
numbers = [1, 2, 3, 3, 4, 4, 4, 5, 5]
cnt = Counter(numbers)
cnt.most_common(n)

most_common 경우 최빈값의 n 갯수만큼 리턴

재귀 함수

sys.setrecursionlimit(10 ** 6)

재귀 깊이 제한을 해제

PriorityQueue 보단 heapq

import heapq

heap = []
heapq.heapqpush(heap, n) // 삽입
heapq.heapqpop(heap) // 제거
heapq.heapify(heap) // 리스트를 힙큐로 

우선순위 큐는 heapq로 (기본적으론 최소 힙이라 최대 힙으로 작성할 경우 우선순위 값을 인덱스에 추가)

Slack Bolt

  • Slack SDK와 Bolt는 컨트롤과 유연성 범위 차이로 종합적인 제작(Slack API 적극 활용)에는 SDK를 빠른 개발과 쉬운 컨트롤엔 Bolt를 추천

  • Slack API Access tokens

  • ack는 요청한 이벤트가 처리되었음을 slack에 알리는 용도

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment