TIL 050323
skip = 'wbqd' skip_ascii = [ord(i) for i in skip] # [119, 98, 113, 100] / 이렇게 한 줄로 for문을 돌면서 문자열을 리스트로 만들 수 있다. ord(): 알파벳을 아스키코드 숫자로 바꿔준다. a: 97 ~ z: 122 from string import ascii_lowercase atoz = ascii_lowercase print(atoz) # abcdefghijklmnopqrstuvwxyz skip = 'wbqd' temp_ascii = [chr(i) for i in range(97, 123) if chr(i) not in skip] # 한 줄로 for문, if문, list(), chr() # ['a', 'c', 'e', 'f', 'g', 'h..
TIL 050223
순열/조합 문제에서 itertools를 쓸 때 from itertools import combinations처럼 쓸 것만 import하는게 가볍다. 오늘의 재귀 함수 def solution(n, a, b): 함수 빠져나올 조건: return 리턴값 if n solution(20, 3, 1) = 1 + solution(20-3+1, 3, 1) = 1 + solution(18, 3, 1) = 1 + (1 + solution(16, 3, 1)) = 2 + solution(16, 3, 1) = 3 + solution(14, 3, 1) . . . = 8 + soluti..
TIL 042523
.replace(): 그냥 쓰면 한꺼번에 다 바꿔버린다. 문자열.replace("없애버릴문자", "새로넣을문자", 횟수): 앞에서부터 횟수만큼 replace한다. 리스트의 요소들에 모두 같은 연산을 하고 싶을 때: map, lambda 이용 board = [7, 9] board_m = map(lambda x : (x-1)/2, board) # [3, 4] 중복 순열 from itertools import product base = [0, 5] list(product(base, repeat=1)) # [(0,), (5,)] list(product(base, repeat=2)) # [(0, 0), (0, 5), (5, 0), (5, 5)] list(product(base, repeat=3)) # [(0, 0..