본문 바로가기

백준 온라인

백준 온라인 - 수학1 - 부녀회장이 될테야 문제 정보 백준 알고리즘 단계 : 수학 1 문제 번호 : 2775 링크 : https://www.acmicpc.net/problem/2775 문제 풀이 호수가 1 이면 값은 무조건 1 층수가 0 이면 값은 무조건 호수값 그외 층, 호수는 아래층 동일 호수 의 값 + 동일 층 이전 호수의 값 재귀 함수 = f(x,y) = f(x-1, y) + f(x, y-1) 보완 재귀 함수의 반복 깊이가 깊어질수록 효율이 떨어진다. 당연하게도.. 재귀가 무한으로 깊게 들어가기 전에 값을 쪼갤 수(?) 있는 규칙이 있는지 꽤 오랫동안 들여봤지만 못찾겠다. ... 재귀로 한번 계산된 값은 두번 계산되지 않도록 메모리에 저장 (캐싱) 문제는 입력 범위가 비교적 작은 범위로 제한되어 있으니 이중 고정 배열을 쓸 수 있지만 범위.. 더보기
백준온라인 - 수학1 - ACM 호텔 문제 정보 백준 알고리즘 단계 : 수학 1 문제 번호 : 10250 링크 : https://www.acmicpc.net/problem/10250 문제 풀이 출구로부터 가까운 거리 기준으로는 저층부터 고층까지 1번방부터 예약하고. 각 층의 1번방이 다 차면 2번방, 3번방 차례로 체워나감 모든 층의 N 번째 호수가 체워져야 다음 N+1 번 호수가 체워진다. (차례 / 층수) = N 나눠진 몫 만큼 호수가 다 체워진 것을 의미 나머지가 있다면 전체 층의 해당 호수가 체워진 것이므로 몫 +1 = 호수 나머지가 없다면 몫 = 호수 나머지가 없다면, 다음 호수까지 갈 필요가 없으므로, 최상층을 의미 = 층수 나머지가 있다면, 나머지 값이 현재 채워야할 호수의 층 코드 import java.text.DecimalF.. 더보기
백준 온라인 - 수학1 - 달팽이는 올라가고 싶다 문제 정보 백준 알고리즘 단계 : 수학 1 문제 번호 : 2869 링크 : https://www.acmicpc.net/problem/2869 문제 풀이 마지막 전일 까지의 평일 이동 거리 (M) = 낮동안 올라간 거리 (A) - 미끄러진 거리만큼 이동 (B) = M 마지막 날은 낮동안 모두 다 올라서므로 무조건 미끄러지는 일이 없다. 그러므로 평일 이동해야하는 거리는 전체 거리 (T) 중 낮동안 올라가는 거리 (A) 를 제외 = t 평일 이동 이동해야 하는 거리에서 평일 이동 거리를 나누면 평일 이동 일수가 구해짐 = t / M 단, 나눈 나머지가 0 이면 나누기 몫 그대로, 0 이 넘으면 몫 + 1 을 하면 실제 이동한 평일 수 구해진 평일 일수 + 마지막 일을 하루 더하면 최종 이동 일수 코드 Jav.. 더보기
백준 온라인 - 수학1 - 분수찾기 문제 정보 백준 알고리즘 단계 : 수학 1 문제 번호 : 1193 링크 : https://www.acmicpc.net/problem/1193 문제 풀이 출발점 1/1 부터 이동하는 경로는 요약하면 1 -> 2 -> 3 -> 4 로 확장되는 패턴을 가진다. 1 -> 2 -> 3 -> 4 확장 중 가로는 분자가 확장된 숫자로 표현되고, 세로는 분모로 확장된 숫자가 표현된다. 확장된 숫자 = 라인 번호 라인 번호가 짝수면 가로에서 세로 방향으로 내려오고, 라인 번호가 홀수면 세로에서 가로 방향으로 올라가며 이동한다. 확장된 라인 번호 까지의 모든 칸의 숫자는 라인 번호까지의 모든 라인 숫자의 합 ex. 4번 라인까지의 모든 칸 수는. 1 + 2 + 3 + 4 = 10 칸. 이를 재귀 함수화하면 f = f(x-.. 더보기