Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 헤더 경로
- 폭설 #미친 날씨
- 백준
- CS
- 언리얼엔진5 #언리얼 클라이언트 프로그래밍
- 오늘밤 세계에서 이 사랑이 사라진다 해도 #독후감 #오열
- 코드리뷰
- CS50
- 언리얼 엔진5 #언리얼 클라이언트 프로그래밍
- leetcode
- C++
- Console
- Harvard
- topdownmove
- 툰쉐이딩
- 순환 리스트
- 네트워크 기초
- Unreal
- Toon Shading
- 브론즈
- c++ 베이직
- build.cs
- STL
- 언리얼
- UE_5
- Module
- A* Algorithm
- 원카페#무인카페#카페추천#카페맛집
- 메테리얼
- Gas
Archives
- Today
- Total
WN_인생기록
2869 - 달팽이는 올라가고 싶다(백준) 본문
https://www.acmicpc.net/problem/2869
//while (height < v)
//{
// height += a;
// if (height == v)
// {
// answer++;
// break;
// }
// height -= b;
// answer++;
//}
이렇게 해도 답은 나오나, 큰 수에 있어서 시간 초과가 뜨게 됨.
#include <iostream>
using namespace std;
int main()
{
int a, b, v;
cin >> a >> b >> v;
// 목표하는 높이
int targetheight = v - a;
// 하루에 올라가는 높이
int dailyclimb = a - b;
// 나머지가 생기면 하루가 더 추가
int days =1 + targetheight / dailyclimb + (targetheight % dailyclimb != 0 ? 1 : 0);
cout << days << "\n";
return 0;
};
생각나는대로 처음에는 푼 방법이 있으나, 시간초과가 뜨게 되어서 다르게 생각하게 되었다.
목표하는 높이와, 하루 올라가는 높이를 구하고, 계산했을때 나머지가 생기면 하루가 더 추가되는 식으로 생각했다.
'알고리즘 > 문제풀이' 카테고리의 다른 글
9506-약수들의 합 (백준) (0) | 2024.06.07 |
---|---|
2231 - 분해합(백준) (0) | 2024.06.05 |
2292 - 벌집(백준) (0) | 2024.05.31 |
2903 - 중앙이동 알고리즘(백준) (0) | 2024.05.31 |
2566- 최댓값(백준) (0) | 2024.05.27 |