ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์นดํŽซ(C++)

2023. 3. 30. 17:29ยท๐Ÿ–ฅ๏ธ Study Note/Coding Test

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

๋ฌธ์ œ ์„ค๋ช…

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

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

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

์ œํ•œ์‚ฌํ•ญ

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

์ž…์ถœ๋ ฅ ์˜ˆ

brown  yellow  return
10 2 [4, 3]
8 1 [3, 3]
24 24 [8, 6]

๋‚ด ํ•ด๋‹ต

#include <string>
#include <vector>

using namespace std;

vector<int> solution(int brown, int yellow) {
    vector<int> answer;

    int total = brown + yellow;
    int height = 3;                 // ์„ธ๋กœ ์ตœ์†Œ ํฌ๊ธฐ('์„ธ๋กœ<=๊ฐ€๋กœ'์ด๋ฏ€๋กœ ์ตœ์†Œ ์„ธ๋กœ ํฌ๊ธฐ๋ถ€ํ„ฐ ๋น„๊ต)
    int width = total / height;
    
    // ๋…ธ๋ž€์ƒ‰ ํƒ€์ผ์˜ ์ˆ˜๋Š” (width-2)*(height-2) ์ด๋‹ค.
    // yellow == (width-2)*(height-2) ๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๊ฐ€๋กœx์„ธ๋กœ ๊ฐ’์„ ์ฐพ์•„๋‚˜๊ฐ„๋‹ค.
    while(width >= height)
    { 
        if(yellow == (width-2)*(height-2))
            break;
         
        ++height;
        width = total / height;
    }
    
    answer.push_back(width);
    answer.push_back(height);
    
    return answer;
}

 yellow = (width-2) * (height -2) ๋ผ๋Š”

ํƒ€์ผ ํŒจํ„ด๊ณผ ๊ฐ€๋กœ ์„ธ๋กœ ๊ฐ’์˜ ์—ฐ๊ด€์„ฑ์„ ์ฐพ๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ๋ฌธ์ œ์˜€๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๐Ÿ–ฅ๏ธ Study Note > Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋” ๋งต๊ฒŒ(C++)  (0) 2023.04.02
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ํ”ผ๋กœ๋„(C++)  (0) 2023.04.01
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์†Œ์ˆ˜ ์ฐพ๊ธฐ(C++)  (0) 2023.03.28
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ๋ชจ์˜๊ณ ์‚ฌ(C++)  (0) 2023.03.27
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•(C++)  (0) 2023.03.27
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๋” ๋งต๊ฒŒ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ํ”ผ๋กœ๋„(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์†Œ์ˆ˜ ์ฐพ๊ธฐ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ๋ชจ์˜๊ณ ์‚ฌ(C++)
Beankong_
Beankong_
์ฃผ๋‹ˆ์–ด ํด๋ผ์ด์–ธํŠธ ํ”„๋กœ๊ทธ๋ž˜๋จธ ๊ณต๋ถ€ ๊ธฐ๋ก
  • Beankong_
    Beankong's Devlog
    Beankong_
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์ „์ฒด ๊ธ€ (146)
      • โ›… Daily (0)
      • ๐Ÿ–ฅ๏ธ Study Note (2)
        • C++ (1)
        • Unreal Engine (5)
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • ๐Ÿงญ Devlog (8)
        • ์˜ค๋‹ต๋…ธํŠธ (4)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๋งํฌ

    • ๊ณต์ง€์‚ฌํ•ญ

    • ์ธ๊ธฐ ๊ธ€

    • ํƒœ๊ทธ

      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      unrealengine module
      ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      UnrealEngine
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      OnlineSubsystem
      ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ํ”„๋ฃŒ๊ทธ๋ž˜๋จธ์Šค
      UnrealEngine5
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
      unrealengine build system
      ํ—ฌํ…Œ์ด์ปค
      ๊ทธ๋ฆฌ๋””(greedy)
      propertyaccess
      cpp
      programmers
      ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
      ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ๊ฒŒ์ž„ ๋ชจ์ž‘
      ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

    • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
    Beankong_
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์นดํŽซ(C++)
    ์ƒ๋‹จ์œผ๋กœ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”