์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ์ง๋ฒ์ ๋ณํํด์ผํ๋ ๋ฌธ์ ๋ฅผ ๋ง๋ฌ๋ค.
ํ๋ก๊ทธ๋๋จธ์ค - 68935 : 3์ง๋ฒ ๋ค์ง๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/68935
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
10์ง๋ฒ์ 3์ง๋ฒ์ผ๋ก ๋ฐ๊พผ๋ค๊ณ ๊ฐ์ ํ๋ฉด ๋๋ ๋๋จธ์ง๋ก 3์ง๋ฒ ์๋ก ๋ฐ๊ฟ ์ ์๋๋ฐ, ์ด๋ฌํ ์ฐ์ฐ ์ฒ๋ฆฌ ๋ง๊ณ , ์๋ฐ์์ ํธ๋ฆฌํ๊ฒ ์ ๊ณตํ๋ ๊ธฐ๋ฅ์ด ์๋ค.
๋ฐ๋ก ๋๋ฆฌ ์ฐ์ด๋ Interger.toString() ๊ณผ Integer.parseInt() ๋ฉ์๋์ด๋ค.
๐ก์ง๋ฒ ๋ณํ ๋ฐฉ๋ฒ
10 ์ง์์ธ ์ n์ ๋ค๋ฅธ ์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ
//10์ง๋ฒ์ธ ์ n์ 3์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ
Integer.toString(n, 3);
//10์ง๋ฒ์ธ ์ n์ 4์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ
Integer.toString(n, 4);
//10์ง๋ฒ์ธ ์ n์ 5์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ
Integer.toString(n, 5);
//10์ง๋ฒ์ธ ์ n์ 6์ง๋ฒ์ผ๋ก ๋ณํํ๊ธฐ
Integer.toString(n, 6);
๋ค๋ฅธ ์ง๋ฒ์ ์ n์ ๋ค์ 10์ง์๋ก ๋ฐ๊พธ๊ธฐ
3์ง๋ฒ์ ์ n์ ๋ค์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๊ธฐ
Integer.parseInt(n, 3);
4์ง๋ฒ์ ์ n์ ๋ค์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๊ธฐ
Integer.parseInt(n, 4);
5์ง๋ฒ์ ์ n์ ๋ค์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๊ธฐ
Integer.parseInt(n, 5);
6์ง๋ฒ์ ์ n์ ๋ค์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๊ธฐ
Integer.parseInt(n, 6);
๐จ์ฃผ์
๋ง์ฝ ์ซ์ ๋ณํ ํ ๋ค์ ๋ณํํ๋ ค๊ณ ํ ๋๋, ๋ณํํ ๋ NumberFormatExeption ํฐ์ง๋ค๋ฉด, ์ซ์์ ํฌ๊ธฐ๋ ์๋ชป๋ ํํ๋ก ๋ฃ์๋์ง ํ์ธํด์ผํ๋ค.
์๋ฅผ ๋ค์ด, 10์ง์์ ์ซ์๋ฅผ 3์ด๋ 2์ง์๋ก ๋ณํํ์ ๋ ์๋ฅผ ๋ด์ ์ ์๋ ํฌ๊ธฐ๊ฐ int ์๋ฃํ์ ๋์ด๊ฐ๊ฒ ๋ ์ ์๋ค. ๊ทธ๋ด๋ ๋น์ฐํ๊ฒ๋
long num = Long.parseLong("๋ณํํ ์");
long ์๋ฃํ์ ์จ์ ๋ณํํด์ผ ํ๋ค.
์๋๋ฉด ๋์ฒ๋ผ ์์ ์๋ชป๋ ์ ๋ ฅ์ ํ ๊ฒ์ผ ์๋์๋ค. (๐ฐ)
โญ๋ค๋ฅธ ํ์ด 1
๋ณํ ํด์ค๋ค ์๋ฆฟ์๋ฅผ ์ง์๋ก ์ฐ์ฐํด์ฃผ์ด ๋ค์ 10์ง๋ฒ์ผ๋ก ๋ฐ๊พธ์๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
public class LS_68935 {
public static void main(String[] args) {
System.out.println(solution(45));
}
public static int solution(int n) {
int answer = 0;
String trit = Integer.toString(n, 3);
char[] tritArr = trit.toCharArray();
int left = 0;
int right = tritArr.length - 1;
while (left < right) {
char tmp;
tmp = tritArr[right];
tritArr[right] = tritArr[left];
tritArr[left] = tmp;
left++;
right--;
}
for (int i = tritArr.length - 1; i >= 0; i--) {
answer += Integer.parseInt(String.valueOf(tritArr[i])) * Math.pow(3, tritArr.length - 1 - i);
}
return answer;
}
}
|
cs |
์ ๋ก์ง๋๋ก ํ๋ฉด ์ ๋ต์ ๋ฐ์์ ์์ง๋ง ๋ถํ์ํ ๋ณํ๋ค์ด ๋ง์ ๊ฒ ๊ฐ๋ค.
(char → String , String → Integer , Integer → int)
โญ๋ค๋ฅธ ํ์ด 2 (ํจ์ฌ ์๊ฐ ๋ณต์ก๋๋ฅผ ์๋ ํ์ด)
๋ ๊น๋ํ๊ฒ ํ๋ค๋ฉด, ์ฒ์ ์๋ฅผ 3์ง๋ฒ์ผ๋ก ๋ฐ๊พธ๋ฉด์ ๋ค์ง์ด์ ์ ์ฅํ๊ณ , ๊ทธ ์๋ฅผ 10์ง๋ฒ ์๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ด ์๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
public class LS_68935_2 {
public static void main(String[] args) {
System.out.println(solution(125));
}
public static int solution(int n) {
int answer = 0;
StringBuilder sb = new StringBuilder();
while (n > 0) {
sb.append(n % 3);
n = n / 3;
}
return Integer.parseInt(sb.toString(), 3);
}
}
|
cs |
๐ช๋ฒ์ธ
๋ฒ์ธํธ์ผ๋ก ๋ณํ๋ง๊ณ , 2, 8, 16 ์ง์๋ฅผ ํํํ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
2, 8 ,16 ์ง์ ํํํ๊ธฐ
https://programmer-may.tistory.com/142
[Java programming] ์๋ฐ ํ๋ก๊ทธ๋๋ฐ : 2์ง์ , 8์ง์, 16์ง์ ํํํ๊ธฐ
โฆ 2์ง์ 2์ง์๋ฅผ ํํํด์ผํ ๋ ์ซ์ ์์ 0B๋ฅผ ์จ์ผํ๋ค.(b๋ ์๋ฌธ์๋ก๋ ์จ๋ ๋๋ค.) ์์) 1 2 3 4 5 6 7 public class BinaryTest { public static void main(String[] args) { int bNum = 0B1010; System.out.println(bNum); } } Colo
programmer-may.tistory.com
๋๊ธ