개발자취업

·Algorithm/항해99
오늘의 학습 키워드이분탐색백준 11561번 징검다리공부한 내용문제의 핵심각 점프마다 이전 점프보다 최소 1 이상 긴 거리를 뛰어야 함마지막 N번 징검다리는 반드시 밟아야 함최대한 많은 징검다리를 밟는 것이 목표해결 방법이분탐색을 통해 가능한 최대 점프 횟수를 찾음k번 점프할 때 필요한 최소 거리는 1 + 2 + 3 + ... + k = k(k+1)/2이 거리가 N보다 작거나 같아야 하며, N번 징검다리까지 도달 가능해야 함코드 원리start와 end로 탐색 범위 설정mid값으로 가능한 점프 횟수 계산등차수열의 합 공식 활용하여 필요한 최소 거리 계산이분탐색으로 최적값 도출정답 코드T = int(input())for _ in range(T): N = int(input()) start = 0 ..
·Algorithm/항해99
99클럽 코테 스터디 0일차 TIL + 이분탐색오늘의 학습 내용이분탐색을 활용한 알고리즘 구현시간 초과 문제 해결 방법백준 1072번 '게임'공부한 내용처음에는 단순하게 게임 한판 씩 추가로 수행하며 변화하는 승률을 비교하는 방식을 사용하였습니다. 그러나 입력 값이 큰 경우에는 시간 초과 문제가 발생하였습니다.초기 시간 초과 코드문제점:한 판씩 확인하는 방식으로 시간복잡도가 O(N)입력값이 큰 경우 실행 시간이 매우 길어짐메모리 사용량도 비효율적X, Y = map(int, input().split())Z = (Y * 100) // X # 승률이 99%이상이면 절대 바뀔 수 없음if Z >= 99: print(-1)else: result = 0 while True: # 게임 ..
potato_pizza
'개발자취업' 태그의 글 목록 (4 Page)