λ¬Έμ
λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 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 |
νμ΄
μ€λͺ
- ν΄λΉ λ¬Έμ μμ λμΉκΈ° μ¬μ΄ μ μ
lost
λ°°μ΄κ³Όreserve
λ°°μ΄μ μ€λ³΅λ λ°μ΄ν°κ° μμΌλ©΄ μ€λ³΅λ λ°μ΄ν°λ μ¬λΆμ 체μ‘볡μ μμ μ΄ μ λλ€λ κ²μ΄λ€. - λ¨Όμ ν΄λΉ λ¬Έμ λ₯Ό νκΈ° μν΄ κ·μΉμ μ€μ νλ€.
- 체μ‘볡μ λλ λΉν μ¬λ(
lost
) →-1
- μ¬λΆμ 체μ‘볡μ κ°μ§κ³ μλ μ¬λ(
reserve
) →1
- μμ μ 체μ‘λ³΅λ§ κ°μ§κ³ μλ μ¬λ(λ λ°°μ΄μ μνμ§ μμ λ°μ΄ν°) →
0
- 체μ‘볡μ λλ λΉν μ¬λ(
μμ κ·μΉμ λ°νμΌλ‘ students
λ°°μ΄μ λ§λ€κ³ , ν΄λΉ λ°°μ΄μ lost
μ reserve
λ°°μ΄ λ§νΌ λ°λ³΅νλ€.
lost
μ μνλ νμμΌ κ²½μ° → ν΄λΉ μΈλ±μ€μ λ°μ΄ν°-1
reserve
μ μνλ νμμΌ κ²½μ° → ν΄λΉ μΈλ±μ€μ λ°μ΄ν°+1
ν΄λΉ κ³Όμ μ λ§μΉκ³ λλ©΄ students
λ°°μ΄μ λκ° μλμ§, μ¬λΆμ κ°μ§κ³ μλμ§ νμ
ν μ μμΌλ©΄μ lost
μ reserve
λ°°μ΄μ μ€λ³΅λλ λ°μ΄ν°λ 0
μΌλ‘ λ§λ€μ΄ ν΄λΉ νμμ΄ μμ
μ λ€μ μ μλλ‘ λ§λ€ μ μλ€.
λμ κ²½μ° μ΄μ μ νμμ΄ μλ μ΄ν νμλΆν° λΉλ €μ€ μ μλμ§ νμΈνλλ°, 11λ² ν
μ€νΈ μΌμ΄μ€μμ μ€ν¨νμλ€.
ν΄λΉ μ€ν¨λ lost
λ°°μ΄μ {1,3,5}
, reserve
λ°°μ΄μ {2,4,5}
μ λ°μ΄ν°κ° μ‘΄μ¬νλ€κ³ κ°μ νμ λ, λμ κ²½μ°μμλ 2λ² νμμ΄ 3λ² νμμκ² μ²΄μ‘볡μ λΉλ €μ£Όκ²λλ©΄μ μμ
μ λ€μ μ μλ νμμκ° 4λͺ
μΌλ‘ μ΅λ 5λͺ
μΈ κΈ°λκ°κ³Ό λ€λ₯΄λ€.
κ·Έλ κΈ° λλ¬Έμ μ΄νμ νμλΆν°κ° μλ μ΄μ μ νμλΆν° νμΈνλ€λ©΄ 11λ² ν μ€νΈ μΌμ΄μ€λ₯Ό κ°λΏν! ν΅κ³Όν μ μλ€. λ€λ§, λμ μ½λκ° κ°λ μ±λ μ’μ§μκ³ , κ°κ²°νμ§λ μλ€. λ€λ₯Έ λΆλ€μ μ½λλ₯Ό 보면μ λ μ΄μΈν μ½λλ‘ μ§νν μ μλλ‘ κ³΅λΆν΄μΌκ² λ€!
μ½λ
package μ¬μ±ν.μκ³ λ¦¬μ¦_6μ£Όμ°¨;
public class 체μ‘볡_νλ‘κ·Έλλ¨Έμ€_그리λ {
public static void main(String[] args) {
int n = 5;
int[] lost = { 2, 4 };
int[] reserve = { 3 };
int result = solution(n, lost, reserve);
System.out.println("\n" + result);
}
public static int solution(int n, int[] lost, int[] reserve) {
// νμμλ§νΌ λ°°μ΄ κ΅¬ν
int[] students = new int[n];
// reserve λ°°μ΄μ μ¬λΆμ 체μ‘볡μ κ°μ§κ³ μλ νμμ΄λ€.
// students λ°°μ΄μ ν΄λΉ νμμ 체μ‘볡 + 1
for (int idx : reserve) {
students[idx - 1]++;
}
// lost λ°°μ΄μ 체μ‘볡μ λλ λΉν νμμ΄λ€.
// students λ°°μ΄μ ν΄λΉ νμμ 체μ‘볡 - 1
for (int idx : lost) {
students[idx - 1]--;
}
// νμμ λ§νΌ λ°λ³΅νλ€.
for (int i = 0; i < students.length; i++) {
int p = i + 1; // νμ¬ μμΉμ + 1
int m = i - 1; // νμ¬ μμΉμ - 1
// νμ¬ νμμ΄ μ¬λΆμ κ°μ§κ³ μλ€λ©΄
if (students[i] == 1) {
// νμ¬ νμ μ΄μ μ νμλΆν° νμΈ
if (m >= 0) {
if (students[m] == -1) {
students[i] = 0;
students[m] = 0;
}
}
// νμ¬ νμ λ€μμ νμ νμΈ
if (p < students.length) {
if (students[p] == -1 && students[i] != 0) {
students[i] = 0;
students[p] = 0;
}
}
}
}
// 체μ‘볡μ μ
κ³ μμ
μ μ°Έμ¬ν μ μλ νμμ μ
int cnt = 0;
for (int a : students) {
System.out.print(a + " ");
if (a > -1)
cnt++;
}
return cnt;
}
}
'Algorithm' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€ 2309] μΌκ³± λμμ΄ (0) | 2023.03.28 |
---|---|
νλ‘κ·Έλλ¨Έμ€ | 3μ§λ² λ€μ§κΈ° (0) | 2020.12.17 |
νλ‘κ·Έλλ¨Έμ€ | ν¬λ μΈ μΈνλ½κΈ° κ²μ, Stack (0) | 2020.12.11 |
νλ‘κ·Έλλ¨Έμ€ | λ κ° λ½μμ λνκΈ°, μμ νμ, HashSet (0) | 2020.12.11 |
Cos Pro 1κΈ | λΉμμ΄ μ΄λ κ°λ₯ν μΉΈ κ°μ μ°ΎκΈ° (0) | 2020.12.10 |