본문 바로가기

BOJ4

99클럽 코테 스터디 2일차 TIL (11561번: 징검다리) 문제https://www.acmicpc.net/problem/11561학습 키워드이진 탐색 시도(시간초과) 1부터 차례대로 더하면서 n이 됐을 때, 더한 횟수 구하기완전 탐색?이렇게 구하게 되면 입력값으로 최대 10^16이 들어온다고 할 때, 10^8정도 소요된다. 모든 테스트케이스가 다 성공하는데 시간제한이 1초이므로 최악의 경우 한 개의 테스트만 돌면 끝나기때문에 시간초과가 발생한다.(성공) 등차수열 공식과 이진 탐색을 사용해서 값 구하기이진 탐색을 통해 (n * (n + 1)) / 2가 주어진 징검다리의 마지막 칸 보다 작거나 같은 경우, 밟았다고 판단하고 값을 저장해나가면서 가장 큰 값을 구하면 된다. 풀이import java.util.*;public class Main11561 { private.. 2024. 10. 29.
99클럽 코테 스터디 1일차 TIL (1072번: 게임) 문제https://www.acmicpc.net/problem/1072학습 키워드이진 탐색 시도(시간초과) 지금까지 진행했던 게임만큼 1씩 더해가면서 승률이 바뀔 때까지 계산하기주어진 게임 횟수(x)가 10, 이긴 게임(y)이 8인 경우에는 게임 횟수가 20일 때까지 승률이 변하는지 계산한다.입력으로 주어지는 게임 횟수(x)의 최대값이 1 ≤ X ≤ 1,000,000,000 이기 때문에 최대 10억번 계산하므로 10초가 걸리게 되는데 시간 제한이 2초이므로 시간초과가 된다.(불가능한듯?) 1을 더했을 때 추가되는 소수점을 계산하고 승률이 바뀌는 지점을 찾는다.float와 double은 부동소수점을 사용하기 때문에 소수점의 정밀도가 떨어져서 자세한 값을 찾기가 어렵다.BigDecimal을 사용하는 방법으로도.. 2024. 10. 28.
1011번: Fly me to the Alpha Centauri (C언어) # 문제 https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net # 풀이 ## 변수 설명 T: 테스트케이스 횟수 x: 시작 위치 y: 끝 위치 move_count: 이동 횟수 remain_space: 남은 거리 move : 이동 거리 ## 문제 해석 이동 가능한 거리 -> 그 중에 선택해서 이동 -> 이동 횟수 증가 예제 입력 1 0 to 3 이동 가능한 거리 이동 현재 위치 이동 횟수 -1, 0, 1 1 .. 2021. 2. 13.
3190번: 뱀 (C언어) 문제 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net 반례 모음 https://www.acmicpc.net/board/view/56469 글 읽기 - 뱀 문제 반례모음입니다 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net #풀이 구조체를 한 번도 사용해보지 않아서 연습해보고자 구조체로 구현보았다. 코드가 너무 길다. ## 입력 보드의 크기 N (2 ≤ N ≤ 100) -> size 사과의 개수 K (0 ≤ K ≤ 100) -> app.. 2021. 2. 8.