Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Git
- 네트워크
- 쉬운 코드
- 데이터베이스
- 김영한
- 코딩애플
- concurrency control
- Extendable hashing
- 시스템프로그래밍
- 트랜잭션
- 커널 동기화
- 온디바이스AI
- 운영체제와 정보기술의 원리
- 코딩테스트 [ ALL IN ONE ]
- 프로세스 주소 공간
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 백엔드
- 반효경
- 쉬운코드
- 운영체제
- 개발남노씨
- recoverability
- 인터럽트
- SQL
- 시그널 핸들러
- vite
- B tree 데이터삽입
- SDK
- CPU 스케줄링
- 갤럭시 S24
Archives
- Today
- Total
티끌모아 태산
기타 알아두면 좋은 개념들 본문
728x90
순열 (permutation)
서로 다른 n 개 중 r 개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutation’의 첫 글자 P를 따서 nPr로 표시합니다. 따라서 순열은 순서를 고려하기 때문에 [A, B, C]의 리스트에서 2개의 원소를 골라 순서를 정해 나열하면 [(A, B), (A, C), (B, A), (B, C), (C, A), (C, B)] 가 나오게 됩니다. 즉 순열에서는 (A, B)와 (B, A)는 다른 것입니다.
from itertools import permutations
arr = ['A', 'B', 'C']
nPr = permutations(arr, 2)
print(list(nPr))
[('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
리스트로 출력하면 튜플형태로 반환하게 됩니다. 즉, 튜플 형태의 리스트를 반환합니다.
조합 (combination)
조합은 순서를 고려하지 않기 때문에 [A, B, C]의 리스트에서 2개의 원소를 골라 나열하면 [(A, B), (A, C), (B, C)] 가 나오게 된다. 조합은 (A, B)와 (B, A)는 같은 것으로 취급합니다.
from itertools import combinations
arr = ['A', 'B', 'C']
nPr = combinations(arr, 2)
print(list(nPr))
[('A', 'B'), ('A', 'C'), ('B', 'C')]
zip()
- 동일한 개수로 이루어진 iterable한 객체들을 인수로 받아 묶어서 iterator로 반환합니다.
z = zip([1, 2, 3], ('A', 'B', 'C'))
print(z) # <zip object at 0x00000219ce6cc200>
print(next(z)) # (1, 'A')
print(next(z)) # (2, 'B')
print(next(z)) # (3, 'C')
재귀함수
팩토리얼
피보나치 수열
728x90
'CS 지식 > 자료구조,알고리즘' 카테고리의 다른 글
알고리즘 분석 - 시간 복잡도 (1) | 2023.12.22 |
---|---|
Greedy[그리디] (0) | 2023.09.20 |
배열 (0) | 2023.08.17 |