문제 요약알고리즘 분류: 이진 탐색, 수학난이도: Silver3문제내용: 사이트: https://www.acmicpc.net/problem/2805문제풀이 CodePythonn, m = map(int, input().split())trees = list(map(int, input().split()))min_value = 1max_value = max(trees)while min_value mid]) if m > lenth: max_value = mid - 1 else: min_value = mid + 1print(max_value)Javaimport java.io.BufferedReader;import java.io.IOException;import java.io...
문제 요약알고리즘 분류: 이진 탐색, 수학난이도: Silver3문제내용:1번부터 N개번 징검 다리가 있다.첫 징검다리는 아무대나 점프할수 있다.그 다음 징검다리는 이전 이동한 거리보다 1이상 더 긴거리로 이동해야 한다.N번 까지 최대 몇번 건널수 있는지 구하여리첫줄에 케이스 T가 주어지고 각 케이스마다 N이 주어진다.사이트: https://www.acmicpc.net/problem/11561 문제풀이이번 문제에서 최대 징검다리수가 10^16 이다. 이정도 숫자이면 1 부터 10^16까지 탐색하면 시간초과가 나올것이다. O(N) 탐색이 아닌 O(logN)의 탐색으로 처리할수 있도록 해야 시간복잡도 문제를 해결할수 있다. 그래서 이번 문제는 이진 탐새으로 풀어야 할수 있다. 이진 탐색 관련글은 아래에서 확인..
문제 요약알고리즘 분류: 이진 탐색, 수학난이도: Silver3문제내용:X: 게임 횟수, Y: 이긴 횟수, Z: 승률(정수)계속 이긴다고 가정 했을때 몇판 더해야 승률이 변하는지 구하여라 만약 변하지 못하면 -1로 반환 하여라사이트: https://www.acmicpc.net/problem/1072 문제풀이 이번 문제는 하나씩 +1 씩 대입해서 정답은 나오지만 최대 숫자가 100억이다. 그리고 승률은 소수가 아닌 정수이다. 그럼 변화할라면 1%올라가야 하는데 1000억기준으로 올라갈라면 최대 10억번을 탐색 해야 한다. 그럼 초당 연산 1억기준으로 O(N)탐색 하면 오류가 날수 있다. 그래서 O(logN)탐색 시간초과 이내로 끝내야 통과가 된다. 그래서 이진탐색으로 해결할것이다. 이진탐색에 대한 내용은..
- Total
- Today
- Yesterday
- 이론
- 배열
- 자바
- 동적 계획법
- BaekJoon
- 알고리즘
- LeetCode
- level2
- 수학
- 그리디
- Programmerse
- 백준
- 조합
- 문자열
- BFS
- JSCODE
- spring-boot
- 누적합
- 재귀호출
- Python
- Greedy
- 넓이 우선 탐색
- 동적계획법
- 구현
- 백트레킹
- DP
- DFS
- java
- 그래프
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |