Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- github
- 전역변수
- Websocket
- literal
- 타입스크립트
- font-size
- Props
- 데이터베이스 #try #이중
- ES5
- TypeScript
- 서버리스 #
- jwt
- 0.5px border
- npm
- es6
- TS
- 클론코딩
- ZOOM
- &연산
- 10px
- 0.25px border
- 문서번호
- entity
- 컴포넌튼
- 0.75px border
- angular
- Strict
- 으
- 1px border
- 당근마켓
Archives
- Today
- Total
복잡한뇌구조마냥
[JAVA] n진수 변환, 변환 정리 (String ↔ 숫자형) + 3진법 뒤집기 본문
자바(Java)에서는 문자열 ↔ 숫자형, 그리고 진법 변환을 아주 쉽게 처리할 수 있습니다.
이번 글에서는 다음 세 가지를 한눈에 정리합니다:
✅ 문자열 ↔ 숫자형 변환
✅ 숫자 ↔ 문자열 변환
✅ 진법 변환 (2진수, 3진수, 8진수, 16진수 등)
1️⃣ 문자열 → 숫자형 변환
타입 | 사용법 | 예시 |
int | Integer.parseInt(str); Integer.valueOf(str); |
"123" → 123 |
long | Long.parseLong(str); Long.valueOf(str); |
"123456789" → 123456789L |
double | Double.parseDouble(str); Double.valueOf(str); |
"3.14" → 3.14 |
float | Float.parseFloat(str); Float.valueOf(str); |
"2.71" → 2.71f |
Short | Short.parseFloat(str); Short .valueOf(str); |
"123" → 123 |
String s = "123";
int num = Integer.parseInt(s); // 123
❗ 예외: NumberFormatException 주의
예: "12a" → 에러 발생
2️⃣ 숫자형 → 문자열 변환
타입 | 사용법 | 예시 |
int | String.valueOf(i); String.toString(i); |
123 → "123" |
long | String.valueOf(l); String.toString(l); |
123456789L → "123456789" |
double | String.valueOf(d); String.toString(d); |
3.14 → "3.14" |
float | String.valueOf(f); String.toString(f); |
2.71f → "2.71" |
Short | String.valueOf(s); String.toString(s); |
123 → "123" |
int num = 456;
String s = String.valueOf(num); // "456"
3️⃣ 진법 변환
🔁 10진수 → n진수 (문자열로)
함수 | 의미 | 예시 |
Integer.toBinaryString(n) | 2진수 | Integer.toBinaryString(10) → "1010" |
Integer.toOctalString(n) | 8진수 | Integer.toOctalString(10) → "12" |
Integer.toHexString(n) | 16진수 | Integer.toHexString(255) → "ff" |
Integer.toString(n, radix) | n진수 | Integer.toString(10, 3) → "101" |
int n = 45;
String base3 = Integer.toString(n, 3); // "1200"
🔁 n진수 → 10진수 (문자열 → int)
String base3 = "1200";
int decimal = Integer.parseInt(base3, 3); // 45
🧪 예제: 3진법 뒤집기 문제 응용
class Solution {
public int solution(int n) {
String third = Integer.toString(n,3);
String reversed = new StringBuilder(third).reverse().toString();
int answer = Integer.parseInt(reversed, 3);
return answer;
}
}
💡 실전 팁
- Integer.toString(n, base)와 Integer.parseInt(str, base)는 쌍으로 기억하세요.
- 진수 변환 결과는 문자열이라는 점에 주의!
- 수동 진법 계산은 학습 목적 외에는 보통 비효율적
참고서적:
※ TMI
이번주에 이 책을 구매하러 서점에 다녀왔다.
인터넷 교보문고에 해당 책을 캡처하려고 검색을 해봤더니 6월 30일에 개정판이 나왔더라...
다시 구매했다...
서점에서 구형책을 산 것에 이미 필기를 했고, 책을 접기도 해서 난처할 따름이다...
맴찢... ㅠ
참고자료:
https://cornarong.tistory.com/48
[JAVA] 진법 변환 정리 (n진수 <-> 10진수)
1. 10진수 -> n진수 * 변환하기 전에 확인! 10진수를 제외한 나머지 진수는 String으로 받아야 한다. -> int는 전부 10진수로 인식 2진수, 8진수, 16진수는 아래와 같이 Binary, Octal, Hex함수가 존재한다. 물
cornarong.tistory.com
https://school.programmers.co.kr/learn/courses/30/lessons/68935
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
LIST
'BE > JAVA' 카테고리의 다른 글
[JAVA] 반복문 간결하게 쓰는 법 - 람다와 메서드 참조로 리팩토링 (2) | 2025.07.29 |
---|---|
[JAVA] 자주 사용하는 자료형 핵심 메소드 정리 (1) | 2025.07.14 |
[JAVA] 람다 ( 람다식 ) (0) | 2025.06.18 |
[JAVA] 쓰레드 ( Thread ) (2) | 2025.06.18 |
[JAVA] 어노테이션 (Annotation) (1) | 2025.06.17 |