99클럽 코테 스터디 2일차 TIL - 이분탐색 (백준 1072번 )
반응형
https://www.acmicpc.net/problem/11561
- 오늘의 학습 키워드 : 이분탐색
- 공부한 내용
import sys
import math
# 테스트 케이스의 수
T = int(sys.stdin.readline().strip())
for _ in range(T):
N = int(sys.stdin.readline().strip())
# 1. 최대 점프 횟수의 추정값을 구합니다.
max_jump = math.isqrt(2 * N) # math.isqrt()는 정수 제곱근을 구해줌
# 2. 가장 큰 max_jump 값 중에서 조건을 만족하는 최대 값 찾기
if max_jump * (max_jump + 1) // 2 <= N:
print(max_jump)
else:
print(max_jump - 1
- 오늘의 회고
- 일단 나는 항상 문제를 풀면,, 알고리즘보다 먼가 문제를 본지를 파악하려고 하는게 먼가 좀 문제가 있는것 같기두..
일단 이 문제를 보고서 해석을 했다.
N = 1 ~ N = (1 + 2 -1) 까지는 최대 징검다리 수 = 1
N = (1 + 2 )~ N = (1 + 2 +3 -1 )까지는 최대 징검다리 수 = 2
N = (1 + 2 +3 ) ~ N = (1 + 2 +3 + 4 -1 ) 까지는 최대 징검다리 수 = 3
N = (1 + 2 +3 + 4 ) ~ N = (1 + 2 +3 + 4 + 5 -1 ) 까지는 최대 징검다리 수 = 4
이 규칙은 이해 완료완료 했다,, 근데 그럼 이걸 어찌 풀건가? 그걸 생각해봤다 - 그래서 생각한 풀이는 1 +. .. MAX =( 1+ MAX )MAX/2 = ( MAX +MAX^2 )/2 ~ MAX^2/2 이 맥스값을 찾아서.. 점점 내려가면 되지 않을까? 생각했다..
- 이렇게 .. 복잡하게 생각했지만,, 이분탐색이라는 방법이 있었다는거 이 문제는 이분탐색이었다거~ 푸하하하하
- 일단 나는 항상 문제를 풀면,, 알고리즘보다 먼가 문제를 본지를 파악하려고 하는게 먼가 좀 문제가 있는것 같기두..
이분탐색 공부한것도 써야하는데.. 아무래도 오늘은 시간이 별로 없어서 이정도만 쓰고 마무리 하겠다
반응형
'Python > 😈 99클럽 코테 스터디 4기 TIL' 카테고리의 다른 글
99클럽 코테 스터디 7일차 TIL - (프로그래머스 - 모음사전) (3) | 2024.11.03 |
---|---|
99클럽 코테 스터디 6일차 TIL - BFS (백준 2458번 - 키 순서) (0) | 2024.11.03 |
99클럽 코테 스터디 4일차 python TIL - 이분탐색(백준2512 예산) (0) | 2024.11.01 |
99클럽 코테 스터디 3일차 python TIL - 이분탐색(프로그래머스 입국심사) (0) | 2024.11.01 |
99클럽 코테 스터디 1일차 TIL - 이분탐색 (백준 1072번 ) (3) | 2024.10.28 |