νμλ² (Greedy) : 체μ‘볡
λ¬Έμ μΆμ² - νλ‘κ·Έλλ¨Έμ€ μ½λ©ν μ€νΈ κ³ λμ Kit
λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
ν μ€νΈ μΌμ΄μ€κ° μμ²λκ² λ§μ λ¬Έμ μ΄λ€...
μ²μμ λμΆ© νμλ€κ° νλ¦¬κ³ λ¬Έμ λ₯Ό λ€μ μ½μ΄λ³΄λ λμΉ λΆλΆμ΄ μμλ€
μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€!
κ·Έλμ μ¬λ²μ΄ μμ§λ§ λλλΉν΄μ κ·Έ μ¬λ²μ λ³ΈμΈμ΄ μ μ΄μΌνλ.. κ·Έλ° νμμ μ°μ μ μΌλ‘ μ²λ¦¬ν΄μ£Όμ΄μΌ νλ€.
κ·Έλ¦¬κ³ λͺλͺ ν μΌμμ
signal: aborted (core dumped)) κ° λ¨κΈΈλ λ©λͺ¨λ¦¬λ₯Ό μ’ μκ»΄μΌνλ μΆμ΄μ
lost, reserve λ²‘ν° μ λ ¬ ν forλ¬Έμμ lost νμμ μ²λ¦¬νλ©΄ reserve νμμ λ©μΆλλ‘ breakλ₯Ό λ£μ΄μ£Όμλ€.
κ·Έλ κ² νλλ ν΅κ³Ό! π
λ 벨1 μΉκ³ λ κΉλ€λ‘μ΄ λ¬Έμ μλ€κ³ μκ°ν¨
λμ νμ΄
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(int n, vector<int> lost, vector<int> reserve) {
int answer = 0;
n -= lost.size();
sort(lost.begin(), lost.end());
sort(reserve.begin(), reserve.end());
for(int i=0; i<lost.size(); ++i){
for(int j=0; j<reserve.size(); ++j){
if(lost[i] == reserve[j]){
lost.erase(lost.begin()+i);
i--;
reserve.erase(reserve.begin()+j);
j--;
n++;
}
}
}
for(int i=0; i<lost.size(); ++i){
for(int j=0; j<reserve.size(); ++j){
if(lost[i]+1 == reserve[j]){
lost.erase(lost.begin()+i);
i--;
reserve.erase(reserve.begin()+j);
n++;
break;
}
else if(lost[i]-1 == reserve[j]){
lost.erase(lost.begin()+i);
i--;
reserve.erase(reserve.begin()+j);
n++;
break;
}
}
}
answer = n;
return answer;
}
'π μκ³ λ¦¬μ¦ > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++/PGS] Lv.2 : νλ¦°ν° (Queue) (0) | 2023.03.02 |
---|---|
[C++/PGS] Lv.3 : λ¨μ΄ λ³ν (DFS/BFS/λ°±νΈλνΉ) - μμ νμ (0) | 2023.02.24 |
[C++/PGS] Lv.3 : λ±κ΅£κΈΈ (DP) (1) | 2023.02.23 |
[C++/PGS] Lv.3 : λ€νΈμν¬ (DFS/BFS) (0) | 2023.02.23 |
[C++/PGS] Lv.2 : νκ² λλ² (DFS) (0) | 2023.02.23 |