ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ๋ชจ์˜๊ณ ์‚ฌ(C++)

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

 

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

๋ฌธ์ œ ์„ค๋ช…

์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค.

1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...

1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€์˜ ์ •๋‹ต์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์€ ๋ฐฐ์—ด answers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์กฐ๊ฑด

  • ์‹œํ—˜์€ ์ตœ๋Œ€ 10,000 ๋ฌธ์ œ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฌธ์ œ์˜ ์ •๋‹ต์€ 1, 2, 3, 4, 5์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.
  • ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์€ ์‚ฌ๋žŒ์ด ์—ฌ๋Ÿฟ์ผ ๊ฒฝ์šฐ, returnํ•˜๋Š” ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•ด์ฃผ์„ธ์š”.

์ž…์ถœ๋ ฅ ์˜ˆ

answers  return
[1,2,3,4,5] [1]
[1,3,2,4,2] [1,2,3]

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

์ž…์ถœ๋ ฅ ์˜ˆ #1

  • ์ˆ˜ํฌ์ž 1์€ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ๋งžํ˜”์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜ํฌ์ž 2๋Š” ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.
  • ์ˆ˜ํฌ์ž 3์€ ๋ชจ๋“  ๋ฌธ์ œ๋ฅผ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฐ€์žฅ ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ๋งžํžŒ ์‚ฌ๋žŒ์€ ์ˆ˜ํฌ์ž 1์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ #2

  • ๋ชจ๋“  ์‚ฌ๋žŒ์ด 2๋ฌธ์ œ์”ฉ์„ ๋งž์ท„์Šต๋‹ˆ๋‹ค.

๋‚ด ํ•ด๋‹ต

์ฒ˜์Œ์—๋Š” ๊ฐ ์ˆ˜ํฌ์ž๋“ค์˜ ์ •๋‹ต ํŒจํ„ด์— ๋งž๊ฒŒ i๋ฒˆ์งธ ๋ฌธ์ œ์˜ ์ˆ˜ํฌ์ž ๋‹ต์„ ๊ตฌํ•œ ๋’ค, ์ •๋‹ต๊ณผ ๋น„๊ตํ•˜๋ ค๊ณ  ํ–ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ 3๋ฒˆ์งธ ์ˆ˜ํฌ์ž์˜ ํŒจํ„ด์€ ๊ณต์‹์œผ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๊ฐ€ ์–ด๋ ค์›Œ ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟจ๋‹ค. (๊ฒŒ๋‹ค๊ฐ€ ์ˆ˜ํฌ์ž 2๋„ ํ‹€๋ ธ๋‹ค.)

        // ์ˆ˜ํฌ์ž1์˜ ์ •๋‹ต
        int ans = i % 5;
        if(ans == 0 )
            ans = 5;
        
        if(answers[i] == ans)
            ++scores[0];
        
        // ์ˆ˜ํฌ์ž 2์˜ ์ •๋‹ต
        if(i % 2 == 1)
            ans = 2;
        else
        {
            ans = (i / 2) % 5;
            if(ans == 0 )
                ans = 5;
        }
        if(answers[i] == ans)
            ++scores[1];
        
        // ์ˆ˜ํฌ์ž 3์˜ ์ •๋‹ต
        // ???

 

 

3๋ช…์˜ ์ˆ˜ํฌ์ž์˜ ์ •๋‹ต ํŒจํ„ด์„ ๋ฐฑํ„ฐ์— ๋„ฃ์€ ๋’ค์— i๋ฒˆ์งธ ๋ฌธ์ œ์˜ ์ˆ˜ํฌ์ž ๋‹ต์„ ๊ตฌํ•œ ๋’ค, ์ •๋‹ต๊ณผ ๋น„๊ตํ•˜์˜€๋‹ค.

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<int> solution(vector<int> answers) {
    vector<int> answer;
    vector<int> scores{0, 0, 0};
    vector<vector<int>> ans_patterns{{1, 2, 3, 4, 5}, {2,1,2,3,2,4,2,5}, {3,3,1,1,2,2,4,4,5,5}};
    
    // 3๋ช…์˜ ์ˆ˜ํฌ์ž์˜ ์ •๋‹ต ํŒจํ„ด๊ณผ ์ •๋‹ต์„ ๋น„๊ต
    for(int s = 0; s < 3; ++s)
    { 
        for(int i = 0; i < answers.size(); ++i)
        {
            if(ans_patterns[s][i % ans_patterns[s].size()] == answers[i])
                ++scores[s];
        }
    }
    
    // ์ตœ๋Œ€ ์ •๋‹ต์ˆ˜๋ฅผ ๊ตฌํ•ด ์ตœ๋Œ€ ์ •๋‹ต์ˆ˜๋งŒํผ ๋งž์ถ˜ ์ˆ˜ํฌ์ž๋“ค์„ ์ •๋‹ต ๋ฐฐ์—ด์— ๋„ฃ๋Š”๋‹ค.
    int max = *max_element(scores.begin(), scores.end());
    for(int i = 0; i < 3; ++i)
    {        
        if(max == scores[i])
            answer.push_back(i+1);
    }
    
    return answer;
}
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์นดํŽซ(C++)  (0) 2023.03.30
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์†Œ์ˆ˜ ์ฐพ๊ธฐ(C++)  (0) 2023.03.28
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•(C++)  (0) 2023.03.27
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / H-Index(C++)  (0) 2023.03.24
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ๊ฐ€์žฅ ํฐ ์ˆ˜(C++)  (0) 2023.03.23
'๐Ÿ–ฅ๏ธ Study Note/Coding Test' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์นดํŽซ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / ์†Œ์ˆ˜ ์ฐพ๊ธฐ(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•(C++)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.2 / H-Index(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
      ๊ทธ๋ฆฌ๋””(greedy)
      ๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
      UnrealEngine
      cpp
      OnlineSubsystem
      programmers
      ํ”„๋ฃŒ๊ทธ๋ž˜๋จธ์Šค
      ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ
      ์ตœ๋‹จ ๊ฑฐ๋ฆฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜
      ๊ฒŒ์ž„ ๋ชจ์ž‘
      ํ—ฌํ…Œ์ด์ปค
      ๊ฒŒ์ž„ ๊ฐœ๋ฐœ
      UnrealEngine5
      unrealengine build system
      propertyaccess
      ๊ฒŒ์ž„ํ”„๋กœ๊ทธ๋ž˜๋ฐ
      ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
      ์•Œ๊ณ ๋ฆฌ์ฆ˜
    • ์ตœ๊ทผ ๋Œ“๊ธ€

    • ์ตœ๊ทผ ๊ธ€

    • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
    Beankong_
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค / level.1 / ๋ชจ์˜๊ณ ์‚ฌ(C++)
    ์ƒ๋‹จ์œผ๋กœ

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