[Programmers] nμ§μ κ²μ (Java)
by λλΆλ
μ½λ©ν μ€νΈ μ°μ΅ - [3μ°¨] nμ§μ κ²μ
Nμ§μ κ²μ νλΈκ° νλνλ μ½λ© λμ리μμλ μ ν΅μ μΌλ‘ ν΄μ€λ κ²μμ΄ μλ€. μ΄ κ²μμ μ¬λ¬ μ¬λμ΄ λ₯κΈκ² μμμ μ«μλ₯Ό νλμ© μ°¨λ‘λλ‘ λ§νλ κ²μμΈλ°, κ·μΉμ λ€μκ³Ό κ°λ€. μ«μλ₯Ό 0
programmers.co.kr
μ΄ λ¬Έμ λ nμ§λ²μ ꡬνλ λ°©λ²μ μ μ©νλ©΄ μ½κ² ν΄κ²°ν μ μλ λ¬Έμ μ λλ€ ππ
κ° μ«μμ λ²μλ ν¬μ§ μμμ mλͺ μ μΈμμ΄ tλ² λμ μ§ννλ©΄μ λμ¬ μ μλ λͺ¨λ μ«μ 리μ€νΈλ₯Ό λ§λ€μμ΅λλ€.
λ€μ λ§νμλ©΄, [0, 1, 2, 3] μ λν΄ 2μ§λ²μΌλ‘ λ§νλ©΄
0 → 0
1 → 1
2 → 10
3 → 11
κ³Ό κ°μ λ°©μμΌλ‘ λ°κΎΌ [0, 1, 1, 0, 1, 1]μ μ μ₯ν΄λλ λ°©μμΌλ‘ μ§ννμ΅λλ€.
μ΄ λ, 리μ€νΈμ μ μ₯νλκ² μλ nμ§λ² ꡬνλ λ°©μμ μ½κ² μ μ©νκΈ° μν΄ StringBufferλ₯Ό μ΄μ©νμ΄μ
νμ¬ κ΅¬ν μ«μκ° 5μ΄κ³ , 2μ§λ²μ μ μ©νλ€λ©΄
5 % 2 = 0, 5 / 2 = 2
2 % 2 = 0, 2 / 2 = 1
μ΄λ―λ‘ 5λ 2μ§λ²μΌλ‘ 100μ΄μμμ
κ³μ°μ μμ μμλλ‘ μ§νλκΈ° λλ¬Έμ κ° λλ¨Έμ§μ λν΄ μ μ₯ν΄λκ³ , λ§μ§λ§μ λͺ«μ μΆκ°νλ©΄ 001μ΄ λλλ°
μ΄ 001μ λ€μ§μΌλ©΄ 100μΌλ‘ μνλ κ°μ ꡬν μκ° μμ΅λλ€.
μ΄λ κ² λ€μ§λ λ°©μμ StringBufferμμ μ 곡νλ reverse()λ‘ μ½κ² ν΄κ²°ν μ μμ΄μ!
κ·Έλμ String Bufferλ₯Ό μ΄μ©νμ΅λλ€. ππ
μ½λλ λ€μκ³Ό κ°μ΄ μμ±νμ΅λλ€.
import java.util.*;
class Solution {
public String solution(int n, int t, int m, int p) {
String answer = "";
StringBuffer strBuff = new StringBuffer(); // κ²μ μ§ν μ μ«μμ λν΄ μ μ₯
String[] decimal = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "A", "B", "C", "D", "E", "F"}; // μ«μ κ·μΉ μ μ©μ μν΄ λ§λ λ°°μ΄
int gameCnt = t * m; // t * mλ² μμ νλΈκ° tκ°μ μ«μλ₯Ό λ§ν¨
int num = 0; // κ²μ μ«μλ 0λΆν° μμ
while (strBuff.length() < gameCnt) {
if (num < n)
strBuff.append(decimal[num]);
else {
StringBuffer subStrBuff = new StringBuffer(); // νμ¬ μ«μμ nμ§λ²μ λν΄ μμλ‘ μ μ₯ν str
int temp = num;
while (temp >= n) {
int mod = temp%n;
subStrBuff.append(decimal[mod]);
temp /= n;
}
subStrBuff.append(decimal[temp]);
strBuff.append(subStrBuff.reverse());
}
num++;
}
p--; // μ«μκ° 0λΆν° μμμ΄λ―λ‘ μμλ -1 ν΄μ€μΌ ν¨
for (int i = 0; i < t; i++) {
answer += strBuff.charAt(p);
p += m;
}
return answer;
}
}
'Algorithm > Programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Programmers] νν (Java) (0) | 2022.09.03 |
---|---|
[Programmers] νΈν λ°© λ°°μ (Java) (0) | 2022.04.22 |
[Programmers] μ¬ μ°κ²°νκΈ° (Java) (0) | 2021.06.10 |
[Programmers] νμΌλͺ μ λ ¬ (Java) (0) | 2021.05.05 |
[Programmers] ꡬλͺ λ³΄νΈ (Java) (0) | 2021.05.01 |
λΈλ‘κ·Έμ μ 보
λλΆλμ Devlog
λλΆλ