๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’œ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/๐Ÿ’œ ๋ฐฑ์ค€

[๋ฐฑ์ค€] C 18์ผ์ฐจ (๋ฒŒ์ง‘ #2292๋ฒˆ)

by eyes from es 2022. 12. 19.
728x90
๋ฐ˜์‘ํ˜•

https://www.acmicpc.net/problem/2292

 

2292๋ฒˆ: ๋ฒŒ์ง‘

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ

www.acmicpc.net

 

1. ๋ฌธ์ œ

์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์œก๊ฐํ˜•์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒŒ์ง‘์ด ์žˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณด๋Š” ๋ฐ”์™€ ๊ฐ™์ด ์ค‘์•™์˜ ๋ฐฉ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์ด์›ƒํ•˜๋Š” ๋ฐฉ์— ๋Œ์•„๊ฐ€๋ฉด์„œ 1์”ฉ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฒˆํ˜ธ๋ฅผ ์ฃผ์†Œ๋กœ ๋งค๊ธธ ์ˆ˜ ์žˆ๋‹ค. ์ˆซ์ž N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฒŒ์ง‘์˜ ์ค‘์•™ 1์—์„œ N๋ฒˆ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๊ฐ€๋Š”์ง€(์‹œ์ž‘๊ณผ ๋์„ ํฌํ•จํ•˜์—ฌ)๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, 13๊นŒ์ง€๋Š” 3๊ฐœ, 58๊นŒ์ง€๋Š” 5๊ฐœ๋ฅผ ์ง€๋‚œ๋‹ค.

 

2. ์ž…๋ ฅ

์ฒซ์งธ ์ค„์— N(1 ≤ N ≤ 1,000,000,000)์ด ์ฃผ์–ด์ง„๋‹ค.

 

3. ์ถœ๋ ฅ

์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฐฉ๊นŒ์ง€ ์ตœ์†Œ ๊ฐœ์ˆ˜์˜ ๋ฐฉ์„ ์ง€๋‚˜์„œ ๊ฐˆ ๋•Œ ๋ช‡ ๊ฐœ์˜ ๋ฐฉ์„ ์ง€๋‚˜๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

 

4. ๋ฌธ์ œํ’€์ด

0~1

2~7

8~19

20~37

์ด์ „ ์ˆ˜์˜ 6์˜ ๋ฐฐ์ˆ˜๋งŒํผ ๋Š˜์–ด๋‚œ๋‹ค

์ฆ‰, 

7 = 1+6*1

19 = 7 + 6*2

์ด๋•Œ, 1์€ ์˜ˆ์™ธ๋กœ ์ฒ˜๋ฆฌํ•˜๊ณ  ๊ทธ ๋‹ค์Œ ์นธ๋ถ€ํ„ฐ ๋“ฑ๋น„์ˆ˜์—ด ํ˜•์‹์œผ๋กœ ํ’€์–ด๊ฐ„๋‹ค.

1< number <= 7            -> 1+(6*0) < number < 1 + (6*1) 

7< number <=19           -> 1+(6*1) < number < 7 + (6*2) 

19 < number <= 37       -> 7+(6*2) < number < 19 + (6*3) 

๋‘ ์ˆ˜ ์‚ฌ์ด์— ์žˆ์œผ๋ฉด while๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ณ  ๋‚˜์˜จ๋‹ค.


C code

#include <stdio.h>

int main()
{
    int number =0;
    scanf("%d",&number);
    int i=1;
    int a=1;
    int b=1;
    
    if(number==1){
            printf("%d\n",1);
            return 0;
        }
        
    while(1){
        a = a + 6*(i-1);
        b = b + 6*i;
        if(a< number && number <= b){
            printf("%d\n", i+1);
            break;
        }
        i++;
    }
    
    return 0;
}

 

6. ๊ฒฐ๊ณผ

728x90
๋ฐ˜์‘ํ˜•