목록Programming Languages/Python (4)
눈송이의 개발생활
프로그래머스 Lv.1 문제를 풀다가 처음 보는 함수가 있어서 정리하려고 한다. 행렬의 덧셈이라는 문제였는데, 나는 이중 for문을 돌면서 각각 원소를 더했지만, 다른 사람의 풀이를 보니 zip()을 이용해서 심플하게 풀었었다. 아래와 같이 나의 코드는.... 정말 길고 복잡하고 못생겼다. 코드가 확 깨끗해지는 함수라서 공부해보았다. # 내 풀이 def solution(arr1, arr2): answer = [] for i in range(len(arr1)): answer.append([]) for j in range(len(arr1[0])): answer[i].append(arr1[i][j] + arr2[i][j]) return answer # 다른 사람 풀이 def solution(arr1, arr2)..
Deque == Double-Ended Queue 큐의 앞과 뒤에서 모두 삽입/삭제가 가능하다 덱을 이용해서 양방향 큐/원형 큐를 구현할 수 있다 파이썬에서는 collections 모듈 내에 있는 deque를 사용할 수 있다 📌 다양한 함수 append(x) : 맨 끝에 x를 삽입 appendleft(x) : 맨 앞에 x를 삽입 pop() : 맨 뒤에 있는 원소 삭제 popleft() : 맨 앞에 있는 원소 삭제 clear() : 덱 전체를 비움 (len == 0) copy() : 뎃 전체를 복사 count(x) : 덱의 원소 중 x의 개수를 셈 extend(iterable) : iterable 원소들 모두 덱의 맨 끝에 덧붙임 insert(x, i) : index i에 x를 삽입 index(x[, st..
자주 쓰이는 순열, 중복순열, 조합, 중복조합 구현하기 itertools 공식문서에 따르면 itertools는 효율적인 루핑을 위한 iterator를 만드는 함수라고 한다 해당 모듈에는 다양한 함수들이 있다 그 중 자주 나오는 순열 조합 함수들에 대해 정리해 볼 것이다 📌 permutations from itertools import permutations arr = [1, 2, 3, 4] print(permutations(arr, 2)) print(list(permutations(arr, 2))) # # [(1, 2), (1, 3), (1, 4), (2, 1), (2, 3), (2, 4), (3, 1), (3, 2), (3, 4), (4, 1), (4, 2), (4, 3)] permutations(li..
List를 String으로 바꾸는 방법 📌 join 함수 리스트에 있는 모든 요소를 합쳐서 하나의 문자열로 바꿔주는 함수 '구분자'.join(list) list = ['a', 'b', 'c', 'd'] print(''.join(list)) # abcd print(' '.join(list)) # a b c d print(','.join(list)) # a,b,c,d 리스트 안의 모든 요소가 string형이 아니면 error가 발생하기 때문에 형변환을 해준 뒤에 join 함수를 사용하면 예외처리 할 수 있다. list = ['a', 'b', 1, 2] print(' '.join(str(e) for e in list)) # a b 1 2 📌 for문 사용 list = ['a', 'b', 'c', 'd'] st..