[programmers] 체μ‘볡 - Java
체μ‘볡 λλ λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν μλ° μ루μ
μ μ€λͺ
ν©λλ€. νμ μ, λλλΉν νμ λ²νΈ, μ¬λ² 체μ‘볡μ κ°μ§ νμ λ²νΈλ₯Ό μ
λ ₯λ°μ μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ
μ λ€μ μ μλλ‘ μ²΄μ‘볡μ λΉλ €μ£Όλ λ°©λ²μ ꡬνν©λλ€. νμλ²μ μ¬μ©νμ¬ μΈμ νμμ μ¬λ² 체μ‘볡μ νμ©νλ λ°©μμΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν©λλ€.
Nov 13, 2024
체μ‘볡
λ¬Έμ μ€λͺ
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 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λͺ
μ΄ μ²΄μ‘μμ
μ λ€μ μ μμ΅λλ€.
solution.java
import java.util.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { // uniforms λ°°μ΄μ 1λ‘ μ΄κΈ°ν int[] uniforms = new int[n + 1]; Arrays.fill(uniforms, 1); // lost, reserve λ°°μ΄λ‘ uniforms λ°°μ΄ μ΄κΈ°ν for (int l : lost) { uniforms[l]--; } for (int r : reserve) { uniforms[r]++; } // κ°λ₯ν κ²½μ° κ΅λ³΅ λΉλ €μ£ΌκΈ° for (int i = 1; i <= n; i++) { if (uniforms[i] == 0) { // λ§μ½ μ λνΌμ΄ μλ νμμ΄λΌλ©΄ if (i > 1 && uniforms[i - 1] == 2) { // μ΄μ νμ νμΈ uniforms[i]++; uniforms[i - 1]--; } else if (i < n && uniforms[i + 1] == 2) { // λ€μ νμ νμΈ uniforms[i]++; uniforms[i + 1]--; } } } // μ λνΌμ νλ μ΄μ μμ§ν νμ μΉ΄μ΄νΈ int count = 0; for (int i = 1; i <= n; i++) { if (uniforms[i] > 0) { count++; } } return count; } }
ν΅μ¬ ν€μλ
- λ°°μ΄μ 1λ‘ μ΄κΈ°νν ν, μμ΄λ²λ¦° μμμ μλΉλ₯Ό κ°μ Έμ¨ μ¬λλ€μ μννλ©° μ΄κΈ°ν νλ€.
- λ°°μ΄μ μ²μλΆν° μννλ©° κ°μ΄ 0μΈ μΈλ±μ€μ μ λ€λ‘ κ°μ μ‘°ννκ³ , λ§μ½ 2λΌλ©΄ ν΄λΉ μΈλ±μ€μ κ°μ -1, +1νλ©° μ‘°μ νλ€.
κ²°λ‘ !
- νμλ²μ΄λ ν΄λΉ μκ°μ μ΅μ μΈ λ΅μ μ ννμ¬ κ²°κ³Όλ₯Ό λμΆνλ μκ³ λ¦¬μ¦μ΄λ€.
- ν΄λΉ λ¬Έμ μ κ²½μ° λ°°μ΄μ ν΅ν΄ μ΄μ μμμ λ€μ μμμ κ²°κ΄κ°μ μ κ·Όνκ³ , ν΄λΉ μμμ κ²°κ΄λ₯Ό λμΆν΄λΌ μ μμλ€.
Share article