๐Ÿ‘ฉ‍๐Ÿ’ปProgramming/Coding Test

[C#] [BOJ#2839] ์„คํƒ• ๋ฐฐ๋‹ฌ

taesooya 2022. 8. 13.

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

 

2839๋ฒˆ: ์„คํƒ• ๋ฐฐ๋‹ฌ

์ƒ๊ทผ์ด๋Š” ์š”์ฆ˜ ์„คํƒ•๊ณต์žฅ์—์„œ ์„คํƒ•์„ ๋ฐฐ๋‹ฌํ•˜๊ณ  ์žˆ๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ง€๊ธˆ ์‚ฌํƒ•๊ฐ€๊ฒŒ์— ์„คํƒ•์„ ์ •ํ™•ํ•˜๊ฒŒ Nํ‚ฌ๋กœ๊ทธ๋žจ์„ ๋ฐฐ๋‹ฌํ•ด์•ผ ํ•œ๋‹ค. ์„คํƒ•๊ณต์žฅ์—์„œ ๋งŒ๋“œ๋Š” ์„คํƒ•์€ ๋ด‰์ง€์— ๋‹ด๊ฒจ์ ธ ์žˆ๋‹ค. ๋ด‰์ง€๋Š” 3ํ‚ฌ๋กœ๊ทธ

www.acmicpc.net

 

My Solution

์—ญ์‹œ ์ˆ˜ํ•™ ์ค‘์š”ํ•ด... ์ด๊ฑด ํ•˜๋ฉด ๋Š˜๊ฒ ์ง€...!


using System;

            // 5๋กœ ๋‚˜๋ˆˆ ์ตœ๋Œ€ ๋ชซ์„ ์ฒดํฌํ•˜๊ณ  
            // ๋‚˜๋จธ์ง€๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 
            // 0์ด ์•„๋‹ˆ๋ฉด 5๋กœ ๋‚˜๋ˆˆ ์ตœ๋Œ€ ๋ชซ์—์„œ 1์„ ๋นผ๊ณ 
            // ๋‚˜๋จธ์ง€๊ฐ€ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋Š”์ง€๋ฅผ ๋ฐ˜๋ณต
            // 5๋กœ ๋‚˜๋ˆˆ ๋ชซ์ด 0์ผ ๋•Œ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ์•„๋‹ˆ๋ผ๋ฉด -1 ์ถœ๋ ฅ
            int t = int.Parse(Console.ReadLine());
            int a = t / 5;
            int b = t % 5;
            while (a > 0)
            {
                if (b % 3 == 0)
                {
                    break;
                }
                else
                {
                    a--;
                    b += 5;
                }
            }
            if (a <= 0 && b % 3 != 0)
            {
                Console.WriteLine(-1);
            }
            else Console.WriteLine(a + b / 3);
        }
    }
}

 

using System;

int n = int.Parse(Console.ReadLine());

// ์ดˆ๊ธฐ๊ฐ’์„ -1๋กœ ์„ค์ •
int count = -1;
// i = 5๋กœ ๋‚˜๋ˆˆ ๋ชซ 
// r์€ 5๋ฅผ ์ตœ๋Œ€๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚จ์€ ์ˆ˜
// 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ด ๋˜๋ฉด break, i์™€ r์„ 3์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ’์„ ์ถœ๋ ฅ
// i๋ฅผ 1์”ฉ ์ค„์ด๊ณ  0๋ณด๋‹ค ๊ฐ™๊ฑฐ๋‚˜ ํด ๋•Œ ๊นŒ์ง€ ๋ฐ˜๋ณต, ๋๋‚˜๋ฉด ์ดˆ๊ธฐ๊ฐ’ -1 ์ถœ๋ ฅ 
for (int i = n / 5; i >= 0; i--)
{
    int r = n - i * 5;
    if (r % 3 == 0)
    {
        count = i + r / 3;
        break;
    }
}

Console.WriteLine(count);

๋Œ“๊ธ€