https://school.programmers.co.kr/learn/courses/30/lessons/12938
λ¬Έμ μ€λͺ
μμ°μ n κ°λ‘ μ΄λ£¨μ΄μ§ μ€λ³΅ μ§ν©(multi set, νΈμμ μ΄νμλ "μ§ν©"μΌλ‘ ν΅μΉ) μ€μ λ€μ λ 쑰건μ λ§μ‘±νλ μ§ν©μ μ΅κ³ μ μ§ν©μ΄λΌκ³ ν©λλ€.
- κ° μμμ ν©μ΄ Sκ° λλ μμ μ§ν©
- μ 쑰건μ λ§μ‘±νλ©΄μ κ° μμμ κ³± μ΄ μ΅λκ° λλ μ§ν©
μλ₯Ό λ€μ΄μ μμ°μ 2κ°λ‘ μ΄λ£¨μ΄μ§ μ§ν© μ€ ν©μ΄ 9κ° λλ μ§ν©μ λ€μκ³Ό κ°μ΄ 4κ°κ° μμ΅λλ€.
{ 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 }
κ·Έμ€ κ° μμμ κ³±μ΄ μ΅λμΈ { 4, 5 }κ° μ΅κ³ μ μ§ν©μ λλ€.
μ§ν©μ μμμ κ°μ nκ³Ό λͺ¨λ μμλ€μ ν© sκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅κ³ μ μ§ν©μ return νλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ΅κ³ μ μ§ν©μ μ€λ¦μ°¨μμΌλ‘ μ λ ¬λ 1μ°¨μ λ°°μ΄(list, vector) λ‘ return ν΄μ£ΌμΈμ.
- λ§μ½ μ΅κ³ μ μ§ν©μ΄ μ‘΄μ¬νμ§ μλ κ²½μ°μ ν¬κΈ°κ° 1μΈ 1μ°¨μ λ°°μ΄(list, vector) μ 1 μ μ±μμ return ν΄μ£ΌμΈμ.
- μμ°μμ κ°μ nμ 1 μ΄μ 10,000 μ΄νμ μμ°μμ λλ€.
- λͺ¨λ μμλ€μ ν© sλ 1 μ΄μ, 100,000,000 μ΄νμ μμ°μμ λλ€.
μ μΆλ ₯ μ
n | s | result |
2 | 9 | [4, 5] |
2 | 1 | [-1] |
2 | 8 | [4, 4] |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ#1
λ¬Έμ μ μμμ κ°μ΅λλ€.
μ μΆλ ₯ μ#2
μμ°μ 2κ°λ₯Ό κ°μ§κ³ λ ν©μ΄ 1μΈ μ§ν©μ λ§λ€ μ μμ΅λλ€. λ°λΌμ -1μ΄ λ€μ΄μλ λ°°μ΄μ λ°νν©λλ€.
μ μΆλ ₯ μ#3
μμ°μ 2κ°λ‘ μ΄λ£¨μ΄μ§ μ§ν© μ€ μμμ ν©μ΄ 8μΈ μ§ν©μ λ€μκ³Ό κ°μ΅λλ€.
{ 1, 7 }, { 2, 6 }, { 3, 5 }, { 4, 4 }
κ·Έμ€ κ° μμμ κ³±μ΄ μ΅λμΈ { 4, 4 }κ° μ΅κ³ μ μ§ν©μ λλ€.
λ΄ ν΄λ΅
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(int n, int s) {
vector<int> answer;
if(n > s)
{
answer.push_back(-1);
return answer;
}
****
// λͺ«μ nλ² λ£λλ€
for(int i = 0; i < n; ++i)
{
answer.push_back(s/n);
}
// λ°°μ΄μ λ€μμλΆν° λλ¨Έμ§λ§νΌ +1ν΄μ€λ€.
for(int i = 1; i <= s%n; ++i)
{
++answer[n-i];
}
return answer;
}
'π₯οΈ Study Note > Coding Test' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] level.2 - μ€ν¬νΈλ¦¬(C++) (0) | 2023.06.02 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] level.3 - μΌκ·Ό μ§μ(C++) (0) | 2023.06.01 |
[νλ‘κ·Έλλ¨Έμ€] level.2 - κ·€ κ³ λ₯΄κΈ°(C++) (0) | 2023.05.30 |
[νλ‘κ·Έλλ¨Έμ€] level.2 - 무μΈλ μ¬ν(C++) (0) | 2023.05.23 |
[νλ‘κ·Έλλ¨Έμ€] level.2 - λ λ°λ¨ΉκΈ°(C++) (0) | 2023.05.22 |