[python] 알고리즘 유용한 코드 모음 (구버전)

에딕·2021년 7월 3일
0

python

목록 보기
2/3
post-thumbnail

새로운 버전 바로가기

"""
파이썬 알고리즘 코드
"""

### 2개의 변수에 입력을 빠르게 받아야 하는 경우
import sys

# n, m = map(int, sys.stdin.readline().split())
# ------------------------------------------------------------------------------------------------------------

### int형 숫자들을 빠른 속도로 입력받아 list로 만들때
import sys

# li = list(map(int, sys.stdin.readline().split()))
# ------------------------------------------------------------------------------------------------------------


### 조합 이용
from itertools import combinations

li = [1, 2, 3]
combi = list(combinations(li, 2))  # li 원소들의 2개를 선택한 조합의 경우가 list 안에 tuple 형식으로 저장된다.
# ------------------------------------------------------------------------------------------------------------


### int의 max값 사용 ###
import sys

int_max = sys.maxsize
# ------------------------------------------------------------------------------------------------------------


### 절대값 ###
abs_num = abs(-10)
# ------------------------------------------------------------------------------------------------------------


### 딕셔너리를 key, value를 기준으로 내림차순 정렬하기
## _dict = dict(sorted(~~~)) 을 하면 다시 딕셔너리가 된다
# key 기준
_dict = {"a": 1, "n": 12, "b": 5, "c": 3, "z": 2}
print(
    sorted(_dict.items(), key=lambda x: x[0], reverse=True)
)  # [('z', 2), ('n', 12), ('c', 3), ('b', 5), ('a', 1)]

# value 기준
print(
    sorted(_dict.items(), key=lambda x: x[1], reverse=True)
)  # [('a', 1), ('z', 2), ('c', 3), ('b', 5), ('n', 12)]
# ------------------------------------------------------------------------------------------------------------

### 딕셔너리의 key, value 값 서로 바꾸기
di = {"a": 0, "b": 1, "c": 2}
di = {v: k for k, v in di.items()}
# ------------------------------------------------------------------------------------------------------------

### 두가지 기준으로 정렬
list = [[3, 4], [1, 1], [1, -1], [2, 2], [3, 3]]
list.sort(key=lambda x: (x[0], x[1]))
# 1 -1
# 1 1
# 2 2
# 3 3
# 3 4
# ------------------------------------------------------------------------------------------------------------

### 리스트안 여러 문자열 한줄 출력
words = ["a", "b", "c"]
print("\n".join(words))
# ------------------------------------------------------------------------------------------------------------

### 입력 문자의 '\n' 줄바꿈 제외하고 입력받기
import sys

# sys.stdin.readline().rsplit()[0]
# or
# sys.stdin.readline().strip()  # 양쪽 공백 제거
# ------------------------------------------------------------------------------------------------------------

### 해당 문자열의 숫자, 알파벳 확인
num = "1"
alpha = "abc"
print(num.isdigit())  # True
print(alpha.isalpha())  # True
# ------------------------------------------------------------------------------------------------------------


### 2차원 리스트 1차원으로 합치기
my_list = [[1, 2], [3, 4], [5, 6]]

# 함수
answer = sum(my_list, [])  # [1, 2, 3, 4, 5, 6]
# ------------------------------------------------------------------------------------------------------------


### 문자열 내용 코드화하기
string = "print('abcd')"
eval(string)
# ------------------------------------------------------------------------------------------------------------
profile
코딩💻 고양이😺

0개의 댓글