728x90

๋ฌธ์ œ

1์—์„œ๋ถ€ํ„ฐ 6๊นŒ์ง€์˜ ๋ˆˆ์„ ๊ฐ€์ง„ 3๊ฐœ์˜ ์ฃผ์‚ฌ์œ„๋ฅผ ๋˜์ ธ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ทœ์น™์— ๋”ฐ๋ผ ์ƒ๊ธˆ์„ ๋ฐ›๋Š” ๊ฒŒ์ž„์ด ์žˆ๋‹ค.

  1. ๊ฐ™์€ ๋ˆˆ์ด 3๊ฐœ๊ฐ€ ๋‚˜์˜ค๋ฉด 10,000์›+(๊ฐ™์€ ๋ˆˆ)×1,000์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. 
  2. ๊ฐ™์€ ๋ˆˆ์ด 2๊ฐœ๋งŒ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋Š” 1,000์›+(๊ฐ™์€ ๋ˆˆ)×100์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. 
  3. ๋ชจ๋‘ ๋‹ค๋ฅธ ๋ˆˆ์ด ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ์—๋Š” (๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ ๋ˆˆ)×100์›์˜ ์ƒ๊ธˆ์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค.  

์˜ˆ๋ฅผ ๋“ค์–ด, 3๊ฐœ์˜ ๋ˆˆ 3, 3, 6์ด ์ฃผ์–ด์ง€๋ฉด ์ƒ๊ธˆ์€ 1,000+3×100์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 1,300์›์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. ๋˜ 3๊ฐœ์˜ ๋ˆˆ์ด 2, 2, 2๋กœ ์ฃผ์–ด์ง€๋ฉด 10,000+2×1,000 ์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 12,000์›์„ ๋ฐ›๊ฒŒ ๋œ๋‹ค. 3๊ฐœ์˜ ๋ˆˆ์ด 6, 2, 5๋กœ ์ฃผ์–ด์ง€๋ฉด ๊ทธ์ค‘ ๊ฐ€์žฅ ํฐ ๊ฐ’์ด 6์ด๋ฏ€๋กœ 6×100์œผ๋กœ ๊ณ„์‚ฐ๋˜์–ด 600์›์„ ์ƒ๊ธˆ์œผ๋กœ ๋ฐ›๊ฒŒ ๋œ๋‹ค.

3๊ฐœ ์ฃผ์‚ฌ์œ„์˜ ๋‚˜์˜จ ๋ˆˆ์ด ์ฃผ์–ด์งˆ ๋•Œ, ์ƒ๊ธˆ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑ ํ•˜์‹œ์˜ค.

 

 

์ž…๋ ฅ 1

3 3 6

์ถœ๋ ฅ 2

1300

 

์ž…๋ ฅ 2

2 2 2

์ถœ๋ ฅ 2

12000

 

์ž…๋ ฅ 3

6 2 5

์ถœ๋ ฅ 3

600

 

 

์ฝ”๋“œ

#include<iostream>

using namespace std;

bool equals(int rValue,int lValue, int* outValue) {
    if (rValue == lValue) {
        *outValue = rValue;
        return true;
    }
    else
        return false;
}

int main() {
    
    int firstDice, secondDice, thirdDice;
    int value=0;
    cin >> firstDice >> secondDice >> thirdDice;
    
    if (firstDice == secondDice&& secondDice == thirdDice) {     //๋งŒ์•ฝ ์„ธ๊ฐœ๊ฐ€ ๊ฐ™์€ ๊ฐ’์ด๋ฉด
        cout << 10000 + firstDice * 1000;
    }
    else if (equals(firstDice,secondDice,&value)
        || equals(secondDice, thirdDice, &value)
        || equals(firstDice, thirdDice, &value)) {     //๋งŒ์•ฝ ๋‘๊ฐœ๊ฐ€ ๊ฐ™์€ ๊ฐ’์ด๋ฉด
        cout<<1000+ value *100;
    }
    else {
        //๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ๋ˆˆ
        value = max(max(firstDice, secondDice), thirdDice);
        cout << value * 100;
    }

    return 0;
}

 

*๊ฐ„๋‹จํ•œ ํ•ด์„ค*

๋‹จ๊ณ„๋ณ„๋กœ ํ’€์–ด๋ณด๊ธฐ์—์„œ if๋ฌธ ์ฃผ์ œ๋กœ ์ถ”๊ฐ€ ๋ถ„๋ฅ˜๋œ ๋ฌธ์ œ์—ฌ์„œ ํ’€์–ด๋ณด์•˜๋‹ค.

๋ง๊ทธ๋Œ€๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ if-else if-else๋ฌธ์„ ํ†ตํ•˜์—ฌ ์ด 3๊ฐ€์ง€๋กœ ๋ถ„๋ฅ˜ํ•˜๋ฉด ๋œ๋‹ค.

 if (firstDice == secondDice&& secondDice == thirdDice)

์ด๋ถ€๋ถ„์€ ์ฒซ๋ฒˆ์งธ ์ฃผ์‚ฌ์œ„์™€ ๋‘๋ฒˆ์งธ ์ฃผ์‚ฌ์œ„์˜ ์ˆซ์ž๊ฐ€ ๊ฐ™๊ณ  ๋‘๋ฒˆ์งธ ์ฃผ์‚ฌ์œ„์™€ ์„ธ๋ฒˆ์งธ ์ฃผ์‚ฌ์œ„์˜ ์ˆซ์ž๊ฐ€ ๊ฐ™์„๋•Œ, 'A์™€ B๊ฐ€ ๊ฐ™๊ณ  B์™€ C๊ฐ€ ๊ฐ™์œผ๋ฉด A์™€ C๋Š” ๊ฐ™๋‹ค'๋ผ๋Š” ๊ณต๋ฆฌ๋ฅผ ํ†ตํ•ด ๋‘๊ฐ€์ง€์˜ ์›๋ฆฌ๊ฐ€ true๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์„ธ ๊ฐ€์ง€์˜ ๊ฐ’์ด ๋ชจ๋‘ ๊ฐ™์Œ์„ ์˜๋ฏธํ•œ๋‹ค.

bool equals(int rValue,int lValue, int* outValue) {
    if (rValue == lValue) {
        *outValue = rValue;
        return true;
    }
    else
        return false;
}

equals()ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ else if๋ฌธ ์•ˆ์—์„œ ๋งŒ์•ฝ ๋‘๊ฐœ๊ฐ€ ๊ฐ™์€ ๊ฐ’์ด๋ฉด value์— ๊ทธ ๊ฐ’์„ ์ง‘์–ด๋„ฃ์–ด์„œ ์ถœ๋ ฅํ• ๋•Œ ์“ธ์ˆ˜ ์žˆ๊ฒŒ๋” ์ œ์ž‘ํ•˜์˜€๋‹ค. ๊ทธ์ค‘ outValue๋งŒ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•œ ์ด์œ ๋Š” rValue์™€ lValue์˜ ๊ฒฝ์šฐ ์–•์€ ๋ณต์‚ฌ๋ฅผ ํ†ตํ•ด ์ˆซ์ž๊ฐ’๋งŒ ๋“ค๊ณ ์™€์„œ ๋น„๊ตํ•˜๋ฉด ๋˜์ง€๋งŒ outValue์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์„ ๋„ฃ์–ด์ค˜์•ผํ•˜๊ธฐ๋•Œ๋ฌธ์— ๊นŠ์€ ๋ณต์‚ฌ๊ฐ€ ํ•„์š”ํ•ด์„œ ํฌ์ธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์˜€๋‹ค.

else {
        //๊ทธ ์ค‘ ๊ฐ€์žฅ ํฐ๋ˆˆ
        value = max(max(firstDice, secondDice), thirdDice);
        cout << value * 100;
    }

๋งˆ์ง€๋ง‰์œผ๋กœ ์„ธ๊ฐœ์˜ ๊ฐ’์ด ๋ชจ๋‘ ๋‹ค๋ฅธ ๊ฒฝ์šฐ max()ํ•จ์ˆ˜๋ฅผ ํ†ตํ•ด ๋จผ์ € ์ฒซ๋ฒˆ์งธ ์ˆ˜์™€ ๋‘๋ฒˆ์งธ ์ˆ˜์˜ ํฌ๊ธฐ๋ฅผ ๋น„๊ตํ•˜๊ณ , ๊ทธ ๋‹ค์Œ ๋น„๊ตํ•œ ํฐ ๊ฐ’๊ณผ ์„ธ๋ฒˆ์งธ ์ˆ˜์˜ ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ œ์ผ ํฐ ์ˆ˜๋ฅผ value์— ๋„ฃ์–ด์„œ ์ถœ๋ ฅํ•˜๋„๋ก ํ•˜์˜€๋‹ค.

 

 

 

*์ด ๋ฐฉ๋ฒ•๋งŒ์ด ๋งž๋Š” ์ •๋‹ต์€ ์•„๋‹™๋‹ˆ๋‹ค.

ํ›จ์”ฌ ์ข‹๊ณ  ๋น ๋ฅธ ๋‹ค๋ฅธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ณต๋ถ€ํ•˜์‹œ๋Š” ๋ถ„๋“ค ํ™”์ดํŒ…! '0'/*

๋ฐ˜์‘ํ˜•

+ Recent posts