Pokeball - Pokemon

til 32

99클럽 코테 스터디 2일차 TIL + 이진탐색(C++)

문제[백준] 11561번: 징검다리https://www.acmicpc.net/problem/11561 최초 시도 (실패)접근 방법최대한 많은 수의 징검다리를 건너려면 우선 첫번째 징검다리를 현재 시작점에서 가장 가까운 곳으로 잡아야 하고, 한 번 점프할 때마다 최소한의 거리를 움직여야 한다.문제 조건 상 두 번째 점프부터는 이전에 점프한 거리보다 1 이상 더 긴 거리를 뛰어야만 하므로,결론적으로는 시작점에서 가장 가까운 1번부터 시작해 다음 징검다리는 이전에 점프한 거리보다 1씩만 더 증가한 거리를 움직이게 하여야 한다.항상 1 → 3 → 6 → 10 → 15 → 21 … 의 징검다리를 밟아가는 것이다.이러려면 우선 내가 징검다리를 몇 번 밟았는지 카운트하는 변수 count와,한번 점프할 때마다(반복문을..

99클럽 TIL 2024.10.29

99클럽 코테 스터디 1일차 TIL + 이진탐색(C++)

문제백준 1072번: 게임https://www.acmicpc.net/problem/1072 접근 방법처음에는 단순히 반복문을 한 번 돌 때마다 x와 y를 증가시켜 승률을 갱신한 후, 기존의 승률과 갱신한 승률을 비교해 두 값이 달라지는 순간 반복문을 돈 횟수를 리턴하는 방식으로 그냥 단순하게 풀었다.하지만 이렇게 풀었더니 시간초과가 발생했다.시간초과가 발생하는 이유는 x와 y를 1씩 동시에 증가시키면 y / x 값이 점진적으로만 변하기 때문에, 처음 x와 y가 매우 큰 경우 처음 승률에서 달라지기까지 상당한 시간이 걸릴 수 있기 때문이다. 구글링 결과 권장되는 풀이는 이분 탐색 풀이였다.문제의 요구 사항을 다시 한번 살펴보면, 문제는 특정 승률 이상이 되는 최소의 추가 게임 수 찾기를 요구한다.이렇게 어..

99클럽 TIL 2024.10.28