Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / C++] ์นดํŽซ ํ’€์ด

meeeeejin 2020. 7. 30. 14:13

๋ฌธ์ œ

 

<๋ฌธ์ œ ์„ค๋ช…>

 

Leo๋Š” ์นดํŽซ์„ ์‚ฌ๋Ÿฌ ๊ฐ”๋‹ค๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ  ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋Š” ๊ฒฉ์ž ๋ชจ์–‘ ์นดํŽซ์„ ๋ดค์Šต๋‹ˆ๋‹ค.

 

์นดํŽซ ๋ฌธ์ œ ๊ทธ๋ฆผ

Leo๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์™€์„œ ์•„๊นŒ ๋ณธ ์นดํŽซ์˜ ๋…ธ๋ž€์ƒ‰๊ณผ ๊ฐˆ์ƒ‰์œผ๋กœ ์ƒ‰์น ๋œ ๊ฒฉ์ž์˜ ๊ฐœ์ˆ˜๋Š” ๊ธฐ์–ตํ–ˆ์ง€๋งŒ, ์ „์ฒด ์นดํŽซ์˜ ํฌ๊ธฐ๋Š” ๊ธฐ์–ตํ•˜์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

 

Leo๊ฐ€ ๋ณธ ์นดํŽซ์—์„œ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown, ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์นดํŽซ์˜ ๊ฐ€๋กœ, ์„ธ๋กœ ํฌ๊ธฐ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

<์ œํ•œ์‚ฌํ•ญ>

  • ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ brown์€ 8 ์ด์ƒ 5,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜ yellow๋Š” 1 ์ด์ƒ 2,000,000 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
  • ์นดํŽซ์˜ ๊ฐ€๋กœ ๊ธธ์ด๋Š” ์„ธ๋กœ ๊ธธ์ด์™€ ๊ฐ™๊ฑฐ๋‚˜, ์„ธ๋กœ ๊ธธ์ด๋ณด๋‹ค ๊น๋‹ˆ๋‹ค.

 

https://programmers.co.kr/learn/courses/30/lessons/42842

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์นดํŽซ

Leo๋Š” ์นดํŽซ์„ ์‚ฌ๋Ÿฌ ๊ฐ”๋‹ค๊ฐ€ ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ์ค‘์•™์—๋Š” ๋…ธ๋ž€์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๊ณ  ํ…Œ๋‘๋ฆฌ 1์ค„์€ ๊ฐˆ์ƒ‰์œผ๋กœ ์น ํ•ด์ ธ ์žˆ๋Š” ๊ฒฉ์ž ๋ชจ์–‘ ์นดํŽซ์„ ๋ดค์Šต๋‹ˆ๋‹ค. Leo๋Š” ์ง‘์œผ๋กœ ๋Œ์•„์™€์„œ ์•„๊นŒ ๋ณธ ์นดํŽซ์˜ ๋…ธ๋ž€์ƒ‰๊ณผ ๏ฟฝ๏ฟฝ

programmers.co.kr

 

 

 

 

 

๋ฌธ์ œ ํ’€์ด

 

์นดํŽซ์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฐ€๋กœ, ์„ธ๋กœ ๊ธธ์ด๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์™€ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

 

์ด๋•Œ ์นดํŽซ์˜ ์„ธ๋กœ ๊ธธ์ด๋Š” ๊ฐ€๋กœ๊ธธ์ด๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์œผ๋ฏ€๋กœ, ์นดํŽซ์˜ ๋ฉด์ ์˜ ์ œ๊ณฑ๊ทผ ์ดํ•˜์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ 1 ์ด์ƒ์ด๋ฏ€๋กœ ์„ธ๋กœ ๊ธธ์ด๋Š” 3 ์ด์ƒ์ž…๋‹ˆ๋‹ค. (์„ธ๋กœ ๊ธธ์ด๊ฐ€ 2 ์ดํ•˜๋ฉด ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž๊ฐ€ ์žˆ์„ ์ˆ˜ ์—†์Œ)

 

์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์„ธ๋กœ, ๊ฐ€๋กœ ๊ธธ์ด๋ฅผ ๊ตฌํ•œ ๋’ค์— ๊ฐˆ์ƒ‰ ๊ฒฉ์ž์™€ ๋…ธ๋ž€์ƒ‰ ๊ฒฉ์ž์˜ ์ˆ˜๊ฐ€ ์ž…๋ ฅ๊ณผ ์ผ์น˜ํ•˜๋ฉด ์ •๋‹ต์œผ๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

 

 

 

 

 

์†Œ์Šค์ฝ”๋“œ

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// ์นดํŽซ
#include <cmath>
#include <string>
#include <vector>
 
using namespace std;
 
vector<int> solution(int brown, int yellow) {
    vector<int> answer;
    int area = brown + yellow;  // ์นดํŽซ์˜ ๋ฉด์ 
 
    for (int height = 3; height <= sqrt(area); height++) {
        if (area % height == 0) {
            int width = area / height;
 
            // ๊ฒฉ์ž์˜ ์ˆ˜ ํ™•์ธ
            if (((width + height) * 2 - 4== brown) {
                answer.push_back(width);
                answer.push_back(height);
                break;
            }
        }
    }
 
    return answer;
}
cs

 

 

ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ

 

๊ณต๋ถ€ํ•œ ๊ฒƒ์„ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ์ˆ˜์ •ํ•  ๋ถ€๋ถ„์ด ์žˆ๋‹ค๋ฉด ์•Œ๋ ค์ฃผ์‹œ๋ฉด ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค :)

 

 

728x90