일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백트래킹 알고리즘
- used to
- 영어
- 정렬
- python
- 영어기초
- BFS
- 파이썬
- 회화기초
- 회화
- 라이브 아카데미
- 백준
- baekjoon
- N-Queens
- 영어회와
- 알고리즘
- 일상회화
- Hyperledger Fabric
- Backtracking Algorithm
- 관계절
- 라이브아카데미
- 다이나믹프로그래밍
- IF
- 완전탐색
- 블록체인
- 전치사
- 영어 회화
- 영어회화
- dfs
- 백트래킹
- Today
- Total
목록python (14)
내 맴
문제 ) https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net [ 풀이 ] 산술평균, 중앙값, 범위를 구하는 방법은 매우 쉬웠다. 최빈값을 구하기 위해서 Collections모듈의 Counter class를 이용해주었다. 우선, 입력한 N개의 숫자 list를 정렬해주고 시작 ✔ 산술평균 : list의 전체합을 N으로 나눠준 값이다. 소수점 이하 첫째 자리에서 반올림 해야하므로 round함수를 이용해준다. ✔ 중앙값 : list를 정렬했으므로 list의 중간 index..
문제 ) https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, �� www.acmicpc.net [ 풀이 ] Baekjoon 사이트에는 이 문제가 Backtracking Algorithm이라고 분류되어있길래 Backtracking방법으로 풀어야 하나 했는데, promising한 node들을 추려줘야하는데 그 기준이 없는거 같았다. Maximum과 Minimum값을 둘 다 구해줘야하기 때문에 그냥 모든 경우의 수를 확인해야만..
문제 ) https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 풀이 ] Backtracking Algorithm을 사용하여 문제를 풀어주었다 - Backtracking Algorithm 이란? ✔ 해를 찾는도중에 해가 아니면 되돌아가서 다시 해를 찾는 기법 ✔ DFS (깊이 우선 탐색 ) 으로 모든 Node를 검색한뒤 Node의 유망성을 점검하여 유망하지않으면 부모노드로 돌아간 후 다른 자손 노드를 탐색한다 - Node가 Promising한지 ..
문제 ) https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net [ 풀이 ] Backtracking Algorithm을 사용하여 문제를 풀어주었다 - Backtracking Algorithm 이란? ✔ 해를 찾는도중에 해가 아니면 되돌아가서 다시 해를 찾는 기법 ✔ DFS (깊이 우선 탐색 ) 으로 모든 Node를 검색한뒤 Node의 유망성을 점검하여 유망하지않으면 부모노드로 돌아간 후 다른 자손 노드를 탐색한다 - Node가 Promising한지 ..
- DFS ( Depth First Search ) : Root Node 방문 후, 그 Node의 후손들을 왼쪽에서 오른쪽으로 Search - 구현 방법 1. GRAPH 표현해주기 ( python ) : Dictionary 과 List 자료형을 사용해준다 1개의 Node와 연결되어있는 Node들을 모두 다 표현해준다 2. DFS 구현하기 ( python ) : Stack를 이용하여 구현한다. - 전체 code
- Binary Search 설명 정렬 된 list A에서 target을 찾는 방법이다. List를 반으로 쪼갠 값(middle)이 target보다 작으면 middle값 기준 오른쪽을 Search하고, middle이 target보다 크면 middle값 기준 왼쪽을 Search한다. - Time Complexity : O( log n ) - python code 1 ( Recursive ) - python code 2 ( Iterative )