λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€.
λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€.
νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄,
λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
체μ‘λ³΅μ΄ μμΌλ©΄ μμ μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ
μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n,
체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost,
μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ°
맀κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ μ λ€μ μ μλ νμμ μ΅λκ°μ
return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ νμ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
μ μΆλ ₯ μ
n | lost | reserve | return |
5 | [2, 4] | [1, 3, 5] | 5 |
5 | [2, 4] | [3] | 4 |
3 | [3] | [1] | 2 |
μ μΆλ ₯ μ μ€λͺ
μμ #1
1λ² νμμ΄ 2λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ³ , 3λ² νμμ΄λ 5λ² νμμ΄ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄
νμ 5λͺ μ΄ μ²΄μ‘μμ μ λ€μ μ μμ΅λλ€.
μμ #2
3λ² νμμ΄ 2λ² νμμ΄λ 4λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όλ©΄ νμ 4λͺ
μ΄ μ²΄μ‘μμ
μ λ€μ μ μμ΅λλ€.
#include <string>
#include <vector>
using namespace std;
int solution(int n, vector<int> lost, vector<int> reserve) {
int answer = 0;
vector<int> student(n, 1);
if( n < 2 || n > 30 ) return answer;
if( lost.size() <0 || reserve.size() < 0 ) return answer;
for ( auto l : lost )
student[l-1]--;
for ( auto r: reserve )
student[r-1]++;
for( int i=0; i < student.size(); i++ )
{
if( student[i] > 0 )
continue;
if( i != 0 && student[i-1] >1 )
{
student[i-1]--;
student[i]++;
}
else if( i != student.size()-1 && student[i+1] > 1 )
{
student[i+1]--;
student[i]++;
}
else{}
}
for( auto s : student )
{
if( s > 0)
answer++;
}
return answer;
}
μ μ²μμ mapμΌλ‘ studentλ₯Ό μ μΈνλ€κ°
ν μ€νΈ μΌμ΄μ€μμ μκ°μ΄κ³Όκ° λ°μν΄μ vectorλ‘ λ€μ νμλ€;;
λ€λ₯Έ λΆλ€ νμ΄ λ³΄λκΉ, intν λ°°μ΄μ μ μΈν΄μ νμ λΆλ μμλλ°,
int ν λ°°μ΄λ ν¨μ¨λ©΄μμ μ’μ λ― νλ€
μ 체 νμ μμ λν studentλ₯Ό μ μΈ ν΄λκ³ , κΈ°λ³Έ κ°μ 1λ‘ μ€μ νμλ€
κ·Έλ¦¬κ³ lostμ μλ νμμΌ κ²½μ° νλμ© λΉΌμ£Όκ³
reserveμ μλ νμμΌ κ²½μ° νλμ© λν΄μ€ νμμ΄λ€
κ·Έλ¦¬κ³ μ λ€ νμλ€κ³Ό λΉκ΅νμ¬ μ²΄μ‘볡μ λΉλ¦΄ μ μλμ§ μ²΄ν¬νλ€
μ£Όμν μ μ μ λ€λ₯Ό λΉκ΅ν λ €λ©΄
μλ£κ΅¬μ‘°μ μ²μκ³Ό λμΌ κ²½μ°λ μ μΈν΄μ€μΌ νλ€λ κ²μ΄λ€
'πAlgorithm ------------ > νλ‘κ·Έλλ¨Έμ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
νλ‘κ·Έλλ¨Έμ€ - level2/κ°μ₯ν°μ/C++ (0) | 2023.05.15 |
---|---|
νλ‘κ·Έλλ¨Έμ€ - level 3/μ΅κ³ μ μ§ν©/C++ (4) | 2023.05.12 |
νλ‘κ·Έλλ¨Έμ€ - μμ νμ/λͺ¨μκ³ μ¬/C++ (0) | 2021.07.30 |
νλ‘κ·Έλλ¨Έμ€ - μ λ ¬/kλ²μ§Έμ/C++ (0) | 2021.07.28 |
νλ‘κ·Έλλ¨Έμ€ - ν/λ맡κ²/C++ (0) | 2021.07.28 |