[백준] 10250번 : ACM 호텔 (C++) + 반례 및 그림 설명
문제 풀이 각각 호텔의 층 수, 각 층의 방 수, 몇 번째 손님을 H, W, N으로 입력받는다. 이때, 기본적인 경우에는 아래와 같이 호실을 계산할 수 있다. 하지만, floor = 0인 경우에는 위 공식이 성립하지 않기 때문에, if문을 이용해 다른 공식을 사용해야 한다. 코드 #include using namespace std; int main() { int T, H, W, N;// test data, floor of hotel, the number of room, the number of people int floor, room, number, answer[100]; cin >> T; for (int i = 0; i > H >> W >> N; floor = N % H;..
2024. 2. 20.
[백준] 2748번 : 피보나치 수 2 | int & long long 범위 (C++)
문제 풀이 아래에 첨부한 2747번 문제와 같은 방식으로 풀이했다. 두 문제의 차이점은 n의 범위이다. 2747번 문제는 n의 최댓값이 45이지만, 이 문제는 90이기 때문에 DP를 int 형으로 선언하면 오류가 발생한다. n = 90일 때, 피보나치 수는 288,0067,1943,7081,6120이기 때문에, DP를 long long 형으로 선언했다. int 형의 범위는 -2,147,483,648 ~ 2,147,483,647이며, long long의 범위는 -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807이다. [백준] 2747번 : 피보나치 수 - (C++) 문제 풀이 다이내믹 프로그래밍(DP)를 이용해 문제를 해결했다. n이 조건의 최댓값인 45인 경..
2023. 5. 24.
[백준] 2747번 : 피보나치 수 - (C++)
문제 풀이 다이내믹 프로그래밍(DP)를 이용해 문제를 해결했다. n이 조건의 최댓값인 45인 경우, 피보나치 수는 11,3490,3170이다. int 형의 범위는 -2,147,483,648 ~ 2,147,483,647이므로, 피보나치 수의 최댓값이 범위 내에 있기 때문에, DP를 int로 선언했다. 코드 #include using namespace std; int main() { int n; int DP[45]; cin >> n; DP[0] = 0; DP[1] = 1; for (int i = 2; i
2023. 5. 24.