[programmers] Nμ§μ κ²μ - Java
'Nμ§μ κ²μ' λ¬Έμ λ μ°Έκ°μλ€μ΄ μμλλ‘ μ«μλ₯Ό λ§νλ κ²μμΌλ‘, μ£Όμ΄μ§ μ§λ², ꡬν μ«μμ κ°μ, μ°Έκ° μΈμ, νλΈμ μμμ λ°λΌ νλΈκ° λ§ν΄μΌ νλ μ«μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ ꡬννλ κ²μ΄λ€. μ΄κΈ° μ½λλ μ±λ₯μ΄ μ’μ§ μκ³ μΌλΆ ν
μ€νΈ μΌμ΄μ€λ₯Ό ν΅κ³Όνμ§ λͺ»νμΌλ, κ°μ λ μ½λμμλ StringBuilderλ₯Ό μ¬μ©νμ¬ μ±λ₯μ μ΅μ ννκ³ , νλΈκ° λ§μ§λ§ μ¬λμΌ λ μ¬λ°λ₯Έ μΆλ ₯μ 보μ₯νκΈ° μν 쑰건μ μΆκ°νμλ€.
Apr 16, 2024
Nμ§μ κ²μ
λ¬Έμ μ€λͺ
νλΈκ° νλνλ μ½λ© λμ리μμλ μ ν΅μ μΌλ‘ ν΄μ€λ κ²μμ΄ μλ€. μ΄ κ²μμ μ¬λ¬ μ¬λμ΄ λ₯κΈκ² μμμ μ«μλ₯Ό νλμ© μ°¨λ‘λλ‘ λ§νλ κ²μμΈλ°, κ·μΉμ λ€μκ³Ό κ°λ€.
- μ«μλ₯Ό 0λΆν° μμν΄μ μ°¨λ‘λλ‘ λ§νλ€. 첫 λ²μ§Έ μ¬λμ 0, λ λ²μ§Έ μ¬λμ 1, β¦ μ΄ λ²μ§Έ μ¬λμ 9λ₯Ό λ§νλ€.
- 10 μ΄μμ μ«μλΆν°λ ν μλ¦¬μ© λμ΄μ λ§νλ€. μ¦ μ΄ν λ²μ§Έ μ¬λμ 10μ 첫 μλ¦¬μΈ 1, μ΄λ λ²μ§Έ μ¬λμ λμ§Έ μλ¦¬μΈ 0μ λ§νλ€.
μ΄λ κ² κ²μμ μ§νν κ²½μ°,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, β¦
μμΌλ‘ μ«μλ₯Ό λ§νλ©΄ λλ€.
ννΈ μ½λ© λμ리 μΌμλ€μ μ»΄ν¨ν°λ₯Ό λ€λ£¨λ μ¬λλ΅κ² μ΄μ§μλ‘ μ΄ κ²μμ μ§ννκΈ°λ νλλ°, μ΄ κ²½μ°μλ
0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, β¦
μμΌλ‘ μ«μλ₯Ό λ§νλ©΄ λλ€.
μ΄μ§μλ‘ μ§ννλ κ²μμ μ΅μν΄μ Έ μ§λ €κ°λ μ¬λλ€μ μ’ λ λμ΄λλ₯Ό λμ΄κΈ° μν΄ μ΄μ§λ²μμ μμ‘μ§λ²κΉμ§ λͺ¨λ μ§λ²μΌλ‘ κ²μμ μ§νν΄λ³΄κΈ°λ‘ νλ€. μ«μ κ²μμ΄ μ΅μνμ§ μμ νλΈλ κ²μμ μ Έμ λ²μΉμ λ°λ κ΅΄μμ νΌνκΈ° μν΄, μμ μ΄ λ§ν΄μΌ νλ μ«μλ₯Ό μ€λ§νΈν°μ 미리 μΆλ ₯ν΄μ£Όλ νλ‘κ·Έλ¨μ λ§λ€λ €κ³ νλ€. νλΈμ νλ‘κ·Έλ¨μ ꡬννλΌ.
μ λ ₯ νμ
μ§λ²
n
, 미리 ꡬν μ«μμ κ°―μ t
, κ²μμ μ°Έκ°νλ μΈμ m
, νλΈμ μμ p
κ° μ£Όμ΄μ§λ€.- 2 β¦
n
β¦ 16
- 0 οΌ
t
β¦ 1000
- 2 β¦
m
β¦ 100
- 1 β¦
p
β¦m
μΆλ ₯ νμ
νλΈκ° λ§ν΄μΌ νλ μ«μ
t
κ°λ₯Ό 곡백 μμ΄ μ°¨λ‘λλ‘ λνλΈ λ¬Έμμ΄. λ¨, 10
~15
λ κ°κ° λλ¬Έμ A
~F
λ‘ μΆλ ₯νλ€.μ μΆλ ₯ μμ
n | t | m | p | result |
2 | 4 | 2 | 1 | "0111" |
16 | 16 | 2 | 1 | "02468ACE11111111" |
16 | 16 | 2 | 2 | "13579BDF01234567" |
μ²μ μλν μ½λ
class Solution { public String solution(int n, int t, int m, int p) { String answer = ""; int cur = 1; int num = 0; while(answer.length()<t){ String str = Integer.toString(num, n).toUpperCase(); for(char c: str.toCharArray()){ if(answer.length()>=t){ return answer; } if(cur%m==p){ answer+=c; } cur++; } num++; } return answer; } }
κ°μ ν μ½λ
class Solution { public String solution(int n, int t, int m, int p) { StringBuilder answer = new StringBuilder(); int cur = 1; int num = 0; while(answer.length() < t){ String str = Integer.toString(num, n).toUpperCase(); for(char c: str.toCharArray()){ if(answer.length() >= t){ return answer.toString(); } if(cur % m == p || (cur % m == 0 && p == m)) { answer.append(c); } cur++; } num++; } return answer.toString(); } }
ν΅μ¬ ν€μλ
- μ²μ μλν μ½λλ
String
μ κ³μν΄μ ν©μ°μ°μ μ¬μ©ν΄μ μ±λ₯μ΄ μ’μ§ λͺ»νκ³ , ν΄λΉνλ μ°¨λ‘μΈμ§ κ²μ¬νλ μ‘°κ±΄μ΄ μ¬λ°λ₯΄μ§ μμ λͺλͺ ν μ€νΈ μΌμ΄μ€λ₯Ό ν΅κ³Όνμ§ λͺ»νλ€.
- μ΄λ₯Ό κ°μ ν΄μ
p
κ° λ§μ§λ§ μ¬λμΌ λ μ¬λ°λ₯Έ μΆλ ₯μ 보μ₯νκΈ° μν΄p
κ°m
κ³Ό κ°μ κ²½μ°λ₯Ό μ²λ¦¬νλ 쑰건μ μΆκ°νκ³ ,StringBuilder
λ₯Ό μ¬μ©ν΄μ μ½λλ₯Ό μ΅μ ννλ€.
κ²°λ‘ !
ν΄λΉ λ¬Έμ λ₯Ό νλ©΄μ Javaμμμ λ¬Έμμ΄μ λ€λ£¨λ λ°©λ²μ μ°μ΅ν μ μμλ€.
Share article