์ˆ˜์„ ํ™”

[C++][๋ฐฑ์ค€|BOJ][์‹œ๊ฐ„๋ณต์žก๋„] 24313๋ฒˆ - ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…(์ ๊ทผ์  ํ‘œ๊ธฐ 1) ๋ณธ๋ฌธ

๐Ÿฅ‚ C (++)

[C++][๋ฐฑ์ค€|BOJ][์‹œ๊ฐ„๋ณต์žก๋„] 24313๋ฒˆ - ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…(์ ๊ทผ์  ํ‘œ๊ธฐ 1)

re.aom 2024. 2. 7. 02:19

๋ฌธ์ œ

์˜ค๋Š˜๋„ ์„œ์ค€์ด๋Š” ์ ๊ทผ์  ํ‘œ๊ธฐ ์ˆ˜์—… ์กฐ๊ต๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค. ์•„๋น ๊ฐ€ ์ˆ˜์—…ํ•œ ๋‚ด์šฉ์„ ํ•™์ƒ๋“ค์ด ์ž˜ ์ดํ•ดํ–ˆ๋Š”์ง€ ๋ฌธ์ œ๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธํ•ด๋ณด์ž.

์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ์†Œ์š” ์‹œ๊ฐ„์„ ๋‚˜ํƒ€๋‚ด๋Š” O-ํ‘œ๊ธฐ๋ฒ•(๋น…-์˜ค)์„ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ •์˜ํ•˜์ž.

O(g(n)) = {f(n) | ๋ชจ๋“  n โ‰ฅ n0์— ๋Œ€ํ•˜์—ฌ f(n) โ‰ค c ร— g(n)์ธ ์–‘์˜ ์ƒ์ˆ˜ c์™€ n0๊ฐ€ ์กด์žฌํ•œ๋‹ค}

์ด ์ •์˜๋Š” ์‹ค์ œ O-ํ‘œ๊ธฐ๋ฒ•(https://en.wikipedia.org/wiki/Big_O_notation)๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

ํ•จ์ˆ˜ f(n) = a1a0, ์–‘์˜ ์ •์ˆ˜ cn0๊ฐ€ ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ O(n) ์ •์˜๋ฅผ ๋งŒ์กฑํ•˜๋Š”์ง€ ์•Œ์•„๋ณด์ž.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ํ•จ์ˆ˜ f(n)์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ a1a0๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (0 โ‰ค |ai| โ‰ค 100)

๋‹ค์Œ ์ค„์— ์–‘์˜ ์ •์ˆ˜ c๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค c โ‰ค 100)

๋‹ค์Œ ์ค„์— ์–‘์˜ ์ •์ˆ˜ n0๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 โ‰ค n0 โ‰ค 100)

์ถœ๋ ฅ

f(n), cn0๊ฐ€ O(n) ์ •์˜๋ฅผ ๋งŒ์กฑํ•˜๋ฉด 1, ์•„๋‹ˆ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

7 7
8
1

์˜ˆ์ œ ์ถœ๋ ฅ 1

0

f(n) = 7+ 7, g(n) = nc = 8, n= 1์ด๋‹ค. f(1) = 14, c ร— g(1) = 8์ด๋ฏ€๋กœ O(n) ์ •์˜๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 2

7 7
8
10

์˜ˆ์ œ ์ถœ๋ ฅ 2

1

f(n) = 7+ 7, g(n) = nc = 8, n= 10์ด๋‹ค. ๋ชจ๋“  n โ‰ฅ 10์— ๋Œ€ํ•˜์—ฌ 7+ 7 โ‰ค 8์ด๋ฏ€๋กœ O(n) ์ •์˜๋ฅผ ๋งŒ์กฑํ•œ๋‹ค.

 

 

O(g(n)) = {f(n) | ๋ชจ๋“  n ≥ n0์— ๋Œ€ํ•˜์—ฌ f(n) ≤ c × g(n)์ธ ์–‘์˜ ์ƒ์ˆ˜ c์™€ n0๊ฐ€ ์กด์žฌํ•œ๋‹ค}

 

 


 

f(n) ≤ c*g(n) ์„ ๋งŒ์กฑํ•˜๋ฉด ๋œ๋‹ค.

 

ํ•ด๋‹น ์‹์„ ์ •๋ฆฌํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ชจ์–‘์ด ๋œ๋‹ค.

 

 

 

 

์œ„ ๋ถ€๋“ฑ์‹์ด ํ•ญ์ƒ ์ฐธ์ด ๋˜๊ธฐ ์œ„ํ•ด์„œ๋Š” a1-c๊ฐ€ 0์ด๊ฑฐ๋‚˜ ์Œ์ˆ˜์ด์–ด์•ผ ํ•œ๋‹ค.

์ด๋Š” a1์ด c๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์Œ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

#include <iostream>

int main() {
    int a0, a1, c, n;
    std::cin >> a1 >> a0;
    std::cin >> c;
    std::cin >> n;
    
    if (a1 * n + a0 <= c * n && a1 <= c) {
        std::cout << 1;
    }
    else std::cout <<0;
}

 

๋ฒ”์œ„ ์กฐ๊ฑด์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š๊ณ , a1 * n + a0 <= c๋งŒ ์ž‘์„ฑํ•  ์‹œ ์˜ค๋‹ต์œผ๋กœ ์ฒ˜๋ฆฌ๋œ๋‹ค.

 

 

 

 

Comments