[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - 연속 λΆ€λΆ„ μˆ˜μ—΄ ν•©μ˜ 개수(C++)

2023. 7. 23. 18:10Β·πŸ–₯️ Study Note/Coding Test

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

문제 μ„€λͺ…

μ² ν˜ΈλŠ” μˆ˜μ—΄μ„ κ°€μ§€κ³  놀기 μ’‹μ•„ν•©λ‹ˆλ‹€. μ–΄λŠ λ‚  μ² ν˜ΈλŠ” μ–΄λ–€ μžμ—°μˆ˜λ‘œ 이루어진 μ›ν˜• μˆ˜μ—΄μ˜ μ—°μ†ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄μ˜ ν•©μœΌλ‘œ λ§Œλ“€ 수 μžˆλŠ” μˆ˜κ°€ λͺ¨λ‘ λͺ‡ 가지인지 μ•Œμ•„λ³΄κ³  μ‹Άμ–΄μ‘ŒμŠ΅λ‹ˆλ‹€. μ›ν˜• μˆ˜μ—΄μ΄λž€ 일반적인 μˆ˜μ—΄μ—μ„œ 처음과 끝이 μ—°κ²°λœ ν˜•νƒœμ˜ μˆ˜μ—΄μ„ λ§ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ μˆ˜μ—΄ [7, 9, 1, 1, 4] 둜 μ›ν˜• μˆ˜μ—΄μ„ λ§Œλ“€λ©΄ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

μ›ν˜• μˆ˜μ—΄μ€ 처음과 끝이 μ—°κ²°λ˜μ–΄ λŠκΈ°λŠ” 뢀뢄이 μ—†κΈ° λ•Œλ¬Έμ— μ—°μ†ν•˜λŠ” λΆ€λΆ„ μˆ˜μ—΄λ„ 일반적인 μˆ˜μ—΄λ³΄λ‹€ λ§Žμ•„μ§‘λ‹ˆλ‹€.

μ›ν˜• μˆ˜μ—΄μ˜ λͺ¨λ“  μ›μ†Œ elementsκ°€ μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, μ›ν˜• μˆ˜μ—΄μ˜ 연속 λΆ€λΆ„ μˆ˜μ—΄ ν•©μœΌλ‘œ λ§Œλ“€ 수 μžˆλŠ” 수의 개수λ₯Ό return ν•˜λ„λ‘ solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.

λ‚΄ 풀이

μš°μ„  각 λΆ€λΆ„ μˆ˜μ—΄μ˜ 합은 쀑볡을 ν—ˆμš©ν•˜μ§€ μ•ŠμœΌλ―€λ‘œ set을 μ‚¬μš©ν•˜μ—¬ λΆ€λΆ„ μˆ˜μ—΄μ˜ 합듀을 μ €μž₯ν•΄μ•Όκ² λ‹€κ³  μƒκ°ν–ˆλ‹€.

λ‹€μŒμœΌλ‘œ μ›ν˜• μˆ˜μ—΄μ˜ λΆ€λΆ„ μˆ˜μ—΄μ„ κ΅¬ν•˜λŠ” 뢀뢄은 아무리 생각해도 이쀑 λ°˜λ³΅λ¬Έλ°–μ— μƒκ°λ‚˜μ§€ μ•Šμ•„ 이쀑 반볡문으둜 ν’€μ—ˆλ‹€. μ‹œκ°„μ€ μ’€ 였래 κ±Έλ ΈμœΌλ‚˜ 일단 μ‹œκ°„ 초과 없이 ν•΄κ²° λ˜μ—ˆμœΌλ‹ˆ λ§Œμ‘±ν•œλ‹€. 

#include <string>
#include <vector>
#include <set>

using namespace std;

int solution(vector<int> elements) {
    int answer = 0;
    int start = 0, end = 0;
    set<int> sums;
    
    for(int i = 0; i < elements.size(); ++i)
    {
        int sum = 0;
        for(int j = i; j < i+elements.size(); ++j)
        {
            int idx = j % elements.size();
            sum += elements[idx];
            sums.emplace(sum);
        }
    }
    
    answer = sums.size();
    
    return answer;
}

μ €μž‘μžν‘œμ‹œ λΉ„μ˜λ¦¬ λ³€κ²½κΈˆμ§€ (μƒˆμ°½μ—΄λ¦Ό)

'πŸ–₯️ Study Note > Coding Test' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.3 - κ±°μŠ€λ¦„λˆ(C++)  (0) 2023.07.25
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - [카카였 인턴] μˆ˜μ‹ μ΅œλŒ€ν™”(C++)  (0) 2023.07.24
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.3 -ν•˜λ…Έμ΄μ˜ 탑(C++)  (2) 2023.07.22
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - μΊμ‹œ(C++)  (0) 2023.07.20
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - νŠœν”Œ(C++)  (0) 2023.07.18
'πŸ–₯️ Study Note/Coding Test' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€
  • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.3 - κ±°μŠ€λ¦„λˆ(C++)
  • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - [카카였 인턴] μˆ˜μ‹ μ΅œλŒ€ν™”(C++)
  • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.3 -ν•˜λ…Έμ΄μ˜ 탑(C++)
  • [ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - μΊμ‹œ(C++)
Beankong_
Beankong_
μ£Όλ‹ˆμ–΄ ν΄λΌμ΄μ–ΈνŠΈ ν”„λ‘œκ·Έλž˜λ¨Έ 곡뢀 기둝
  • Beankong_
    Beankong's Devlog
    Beankong_
  • 전체
    였늘
    μ–΄μ œ
    • 전체 κΈ€ (141) N
      • β›… Daily (0)
      • πŸ–₯️ Study Note (135) N
        • Unreal Engine (5) N
        • Coding Test (123)
        • Design Patteren (5)
        • VCS (Git..) (1)
        • Server (1)
      • 🧭 Devlog (6)
        • μ˜€λ‹΅λ…ΈνŠΈ (2)
        • UE5 GameLift Server Test Project (1)
        • TIL (3)
  • hELLOΒ· Designed Byμ •μƒμš°.v4.10.3
Beankong_
[ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€]level.2 - 연속 λΆ€λΆ„ μˆ˜μ—΄ ν•©μ˜ 개수(C++)
μƒλ‹¨μœΌλ‘œ

ν‹°μŠ€ν† λ¦¬νˆ΄λ°”