https://www.acmicpc.net/problem/2869
2869๋ฒ: ๋ฌํฝ์ด๋ ์ฌ๋ผ๊ฐ๊ณ ์ถ๋ค
์ฒซ์งธ ์ค์ ์ธ ์ ์ A, B, V๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ์ฃผ์ด์ง๋ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
www.acmicpc.net
1. ๋ฌธ์
๋ ์์ ๋ฌํฝ์ด๊ฐ ์๋ค. ์ด ๋ฌํฝ์ด๋ ๋์ด๊ฐ V๋ฏธํฐ์ธ ๋๋ฌด ๋ง๋๋ฅผ ์ฌ๋ผ๊ฐ ๊ฒ์ด๋ค.
๋ฌํฝ์ด๋ ๋ฎ์ A๋ฏธํฐ ์ฌ๋ผ๊ฐ ์ ์๋ค. ํ์ง๋ง, ๋ฐค์ ์ ์ ์๋ ๋์ B๋ฏธํฐ ๋ฏธ๋๋ฌ์ง๋ค. ๋, ์ ์์ ์ฌ๋ผ๊ฐ ํ์๋ ๋ฏธ๋๋ฌ์ง์ง ์๋๋ค.
๋ฌํฝ์ด๊ฐ ๋๋ฌด ๋ง๋๋ฅผ ๋ชจ๋ ์ฌ๋ผ๊ฐ๋ ค๋ฉด, ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
2. ์ ๋ ฅ
์ฒซ์งธ ์ค์ ์ธ ์ ์ A, B, V๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ์ฃผ์ด์ง๋ค. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
3. ์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌํฝ์ด๊ฐ ๋๋ฌด ๋ง๋๋ฅผ ๋ชจ๋ ์ฌ๋ผ๊ฐ๋๋ฐ ๋ฉฐ์น ์ด ๊ฑธ๋ฆฌ๋์ง ์ถ๋ ฅํ๋ค.
4. ๋ฌธ์ ํ์ด
while๋ฌธ์ด๋ for๋ฌธ์ผ๋ก i++๋ฅผ ํ๊ณ i๋ฅผ ์ฐพ์ผ๋ฉด ์ถ๋ ฅํ๋ ๋ฐฉ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋๋ค. ์์ ํ์๋ ์์ต๋ถ๊ธฐ์ ๋ฌธ์ ์ฒ๋ผ ์๊ฐ O(1)์ ํ์ ์์ด์ผ ํ๋ค.
https://arty6848.tistory.com/56
[๋ฐฑ์ค] C 16์ผ์ฐจ (์์ต๋ถ๊ธฐ์ #1712๋ฒ) ์๊ฐ์ด๊ณผ ํด๊ฒฐ
https://www.acmicpc.net/problem/1712 1712๋ฒ: ์์ต๋ถ๊ธฐ์ ์๋์ ์๋ ๋ ธํธ๋ถ์ ์ ์กฐํ๊ณ ํ๋งคํ๋ ํ์ฌ์ด๋ค. ๋ ธํธ๋ถ ํ๋งค ๋์์ ์๊ด์์ด ๋งค๋ ์๋๋ฃ, ์ฌ์ฐ์ธ, ๋ณดํ๋ฃ, ๊ธ์ฌ ๋ฑ A๋ง์์ ๊ณ ์ ๋น์ฉ์ด ๋ค๋ฉฐ
arty6848.tistory.com
A*day - B* (day-1) >= V ๋ฅผ ์ ๋ฆฌํ๋ฉด
day >= (V-B) / (A-B)
ํฌ๊ฑฐ๋ ๊ฐ๋ค => ์์์ ์ผ๋ก ๋์ค๋ฉด ์ฌ๋ฆผ์ ํด์ค๋ค!
math.h์ ceil(์ฌ๋ฆผ) ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
์ด๋ ์ถ๋ ฅ ๋ฐฉ๋ฒ, double์ ์ ๋ฌด์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๋ค

1. double์ ์ ๋ฌด
ceilํจ์๋ ํ์ ์ด double์ด๋ค. double์ ์ฐ์ง ์์ผ๋ฉด 5,1,6์ ์ ๋ ฅํ์ ๋,
(V-B) /(A-B) = 1.25
double๋ก ํ๋ณํ์ ์ํ๋ฉด V,A,B ๋ชจ๋ int๊ธฐ ๋๋ฌธ์ 1.25๊ฐ ์๋๋ผ 1์ด ๋๋ค. 1์ ceil๋ก ์ฌ๋ฆผํ๋ฉด ๊ทธ๋๋ก 1์ด๋ค.
2. lf์ f์ ์ฐจ์ด

float๊ณผ double์ ์ฐจ์ด๋ฅผ ๊ฐ๋จํ ํ๋ฉด double์ ๋ฒ์๊ฐ ๋ ๋๊ณ ์ ๊ตํด์ ์ค์ฐจ๋ฒ์๊ฐ ์๋ค๋ ๊ฒ!
float 0.1 => 0.100000000000000
double 0.1 => 0.100000000014901
https://patiencelee.tistory.com/650
[C์ธ์ด] %f์ ,%lf์ ์ฐจ์ด์ ์??
scanf() ํจ์๋ก ์ ๋ ฅ์ ๋ฐ๊ณ , printf() ํจ์๋ก ์ถ๋ ฅ์ ํ๋ค๋ณด๋ฉด, ์ข ์ข ์ค์๊ฐ์ ์ถ๋ ฅํ๊ธฐ ์ํด, %f์ %lf๋ฅผ ์ฐ๊ณคํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ, ๋งค๋ฒ ์ด ๋ ์ค ๋ฌด์์ ์จ์ผ ๋๋๊ฐ? ๊ณ ๋ฏผํ๊ฒ ๋๋ ์ํฉ์ด ๋ฐ์ํ์ฌ ์
patiencelee.tistory.com
c์ธ์ด doubleํ vs floatํ : ์ด๋ค ์ฐจ์ด๊ฐ ์์๊น์?
์ ๋ฒ์ ๋ถ๋ ์์์ ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ํ์์ต๋๋ค. ๊ทธ๋ฌ๋ฉด C์ธ์ด์์ double๊ณผ float์ ์ฐจ์ด๋ ๋ฌด์์ผ๊น์? ์ ๋ฐ๋ ์ฐจ์ด์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ค์ฐจ ๋ฒ์๋ ์ฐจ์ด๊ฐ ๋ ์ ๋ฐ์ ์๋๋ฐ์. ์ ๋ ์ด ๋ ๊ฐ์ง๋ฅผ
codingdog.tistory.com
C code
#include <stdio.h>
#include <math.h>
int main()
{
int A,B,V=0;
scanf("%d %d %d",&A,&B,&V);
printf("%.lf\n",ceil((double)(V-B)/(A-B)));
return 0;
}
6. ๊ฒฐ๊ณผ
