๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm/๊ตฌ๋ฆ„ ์ฑŒ๋ฆฐ์ง€

[๊ตฌ๋ฆ„ํ†ค ์ฑŒ๋ฆฐ์ง€] 2์ฃผ์ฐจ ํ•™์Šต ์ผ๊ธฐ #2 (8์ผ์ฐจ)

by ๋Œ€๋ณต2 2023. 8. 24.

๋ฌธ์ œ ๋งํฌ

 

๊ตฌ๋ฆ„LEVEL

๋‚œ์ด๋„๋ณ„ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•จ์œผ๋กœ์จ SW ์—ญ๋Ÿ‰์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

level.goorm.io

 

๋ฌธ์ œ ์„ค๋ช…

๊ตฌ๋ฆ„-๊ทธ๋ผ์šด๋“œ ๊ฒŒ์ž„์—๋Š” ํ†ต์ฆ์ด๋ผ๋Š” ์‹œ์Šคํ…œ์ด ์žˆ๋‹ค. ํ•ด๋‹น ํ†ต์ฆ์€ ์•„์ดํ…œ์„ ์ด์šฉํ•˜์—ฌ ์น˜๋ฃŒ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • bandage: ํ†ต์ฆ์„ 1 ์ค„์—ฌ์ค€๋‹ค.
  • medicine: ํ†ต์ฆ์„ 7 ์ค„์—ฌ์ค€๋‹ค.
  • painkiller: ํ†ต์ฆ์„ 14 ์ค„์—ฌ์ค€๋‹ค.

์•„์ดํ…œ์„ ์ผ์„ ๋•Œ, ํ†ต์ฆ์ด 0 ๋ฐ‘์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด ์•ˆ ๋˜๊ณ , ์ตœ์†Œ์˜ ์•„์ดํ…œ๋งŒ ์จ์„œ ํ†ต์ฆ์„ 0์œผ๋กœ ๋งŒ๋“ค์–ด ๋ณด์ž.

 

 

 

์ž…๋ ฅ

ํ†ต์ฆ N์€ 1๋ถ€ํ„ฐ 10์˜ 9 ์ œ๊ณฑ๊นŒ์ง€ ์ž…๋ ฅ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

 

 

์ถœ๋ ฅ

ํ†ต์ฆ์„ 0์œผ๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ์•„์ดํ…œ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅ

 

 

 

๋ฌธ์ œ ์ดํ•ด

1. ์•„์ดํ…œ์˜ ์ตœ์†Œ ๊ฐœ์ˆ˜๋‹ˆ๊นŒ, ํ†ต์ฆ์„ ํฌ๊ฒŒ ์ค„์—ฌ์ฃผ๋Š” painkiller๋ถ€ํ„ฐ ํ•ด์„œ ์ญ‰์ญ‰ ์จ๋‚˜๊ฐ€๋ฉด ๋œ๋‹ค.

 

 

 

๋ฌธ์ œ ํ•ด๊ฒฐ

#1. ์ž…๋ ฅ๋œ N์ด painkiller๋ฅผ ๋” ์‚ฌ์šฉ ๋ชปํ•  ๋•Œ๊นŒ์ง€ (N์ด 14 ๋ฏธ๋งŒ์œผ๋กœ ๋–จ์–ด์งˆ ๋•Œ๊นŒ์ง€) ๋นผ์ฃผ๊ณ  count

if(num >= painkiller){
    temp = num / painkiller;
    num -= temp * painkiller;
    count += temp;
}

#2 ~ #3: ์œ„์—์„œ ํ–ˆ๋˜ ๋ฐฉ๋ฒ• ๋Œ€๋กœ ๊ฐ๊ฐ medicine, bandage์— ๋Œ€ํ•ด ์—ฐ์‚ฐ์„ ํ•ด์ฃผ๊ณ  count

if(num >= medicine){
    temp = num / medicine;
    num -= temp * medicine;
    count += temp;
}
if(num >= bandage){
    temp = num / bandage;
    num -= temp * bandage;
    count += temp;
}

 

 

 

๋ฌธ์ œ ํ›„๊ธฐ

์ƒ๊ฐ๋ณด๋‹ค ๋„ˆ๋ฌด ๊ฐ„๋‹จํ•˜๊ฒŒ ํ’€๋ ค์„œ ์˜์•„ํ–ˆ๋‹ค. ์ •๋ง ์ด๋ ‡๊ฒŒ ํ‘ธ๋Š” ๊ฒŒ ๋งž๋Š” ๊ฑด๊ฐ€.. ํ˜น์‹œ ์‹œ๊ฐ„ ๋ณต์žก๋„๋‚˜ ๊ณต๊ฐ„ ๋ณต์žก๋„์˜ ์—„๊ฒฉํ•œ ์กฐ๊ฑด์ด ์žˆ์„๊นŒ ์‹ถ์–ด ์ฒ˜์Œ while๋ฌธ์œผ๋กœ count๋ฅผ ํ•˜๋‚˜ํ•˜๋‚˜ ์„ธ๋˜ ๋ฐฉ๋ฒ•์—์„œ ์—ฐ์‚ฐ ํ›„ ์ผ๊ด„๋กœ ๋”ํ•œ ๋ฐฉ์‹์œผ๋กœ ๋ณ€๊ฒฝํ–ˆ๋‹ค. ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋Š” ๋‹คํ–‰ํžˆ๋„ ํ•œ ๋ฒˆ์— ํ•ฉ๊ฒฉํ–ˆ๊ณ , ์ƒ๊ฐํ–ˆ๋˜ ๊ฒƒ๋ณด๋‹ค ํ›จ์”ฌ ๋นจ๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ’€๊ฒŒ ๋˜์–ด ์–ด์ œ ๋ชป ํ’€์—ˆ๋˜ 7๋ฒˆ ๋ฌธ์ œ๊นŒ์ง€ ํ’€์–ด๋ณผ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

 

์ „์ฒด ์ฝ”๋“œ

#include <iostream>

#define bandage 1
#define medicine 7
#define painkiller 14
using namespace std;

int main(){
    int num = 1;
    int count = 0;
    cin >> num;
    int temp = 0;
    if(num >= painkiller){
        temp = num / painkiller;
        num -= temp * painkiller;
        count += temp;
    }
    if(num >= medicine){
        temp = num / medicine;
        num -= temp * medicine;
        count += temp;
    }
    if(num >= bandage){
        temp = num / bandage;
        num -= temp * bandage;
        count += temp;
    }
    cout << count;
    
}