일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스
- CSS
- 순환
- java
- Web
- CleanCode
- SQL
- html
- DP
- 알고리즘
- inflearn
- 구현
- 해슁
- android
- 코딩테스트
- algorithm
- 다이나믹 프로그래밍
- Color
- BFS
- 자바
- Kotlin
- javascript
- 검색트리
- 정렬
- codecademy
- front-end
- Spring
- DFS
- SWEA
- 클린코드
- Today
- Total
목록완전탐색 (2)
깡뇽

브루트 포스 유형의 Bronze 문제를 하나 더 풀어보았다. 2231번 분해합 풀이 [시도1] 맞았습니다!! n = int(input()) for i in range(n): num = i sum = 0 for j in range(len(str(i))): sum += int(str(num)[j]) if (i + sum) == n: result = i break print(result) 입력값 n의 생성자를 구해야 하는데 예를 들어, 245의 분해합은 256(=245+2+4+5)이므로 256의 생성자가 된다. 가장 작은 생성자를 찾거나 생성자가 없으면 0을 출력하면 되기 때문에 0부터 n까지 모든 숫자들이 n의 생성자인지 찾도록 한다. for문을 0부터 n까지 돌리는데 값이 i일 때에 i의 각 자리에 있는 ..

브루트포스 Bruteforcing 알고리즘 유형의 문제라고 한다. 무차별적으로 대입하는 그냥 다 확인해보는 그런 유형이라고 할 수 있다. (완전탐색) Bronze 2 레벨에 속하는 문제인데 이 문제는 꼭 풀이를 보지 않고 풀겠노라 다짐하면서 시작한다. 2798번 블랙잭 풀이 [시도1] 맞았습니다!! n, m = map(int, input().split()) numbers = list(map(int, input().split())) big = 0 for i in range(0, n): for j in range(i+1, n): for k in range(j+1, n): sum = numbers[i] + numbers[j] + numbers[k] if sum > big and sum