[Java] BOJ 1550: Integer.parseInt()

2025. 2. 19. 02:19·Engineering Notes/Java & Spring

BufferedReader를 쓰면서 문자열을 숫자 값으로 전환하는 일이 많았다. 그래서 Integer.parseInt()가 자연히 몸에 배어있었는데, 이게 특정 진법으로 해석해 숫자 값을 뱉는 친구라는 건 오늘에서야 알았다. (지능 이슈)

 

변명이지만 지금까지 진법 자체를 다룰 일이 딱히 없었기도 하고, 아무튼 단순히 Int로 파싱 하는 거라 생각했는데, 아래와 같이 기수를 입력하면 해당 진법으로 해석해 값을 뱉어낸다.


Integer.parseInt(Stirng, base)

// 2진법
Integer.parseInt("1010", 2); // -> 10 반환

// 8진법
Integer.parseInt("12", 8); // -> 10 반환

// 16진법
Integer.parseInt("A", 16); // -> 10 반환

 *기수 부분을 생략한 경우에는 10진법이 디폴트가 되어 파싱한다.


참고로, 자바와 자바스크립트에서는 기본적으로 2부터 36 사이 기수만 지원한다. 이유는 0-9와 A-Z까지, 총 36개의 문자까지만 표현할 수 있기 때문이다. (parseInt는 알파벳 대소문자를 구분하지 않는다.)

 

물론 그 이상에 대해 문자 집합을 확장하여 진행하는 방법도 있지만, 표준 라이브러리에서 지원하지 않아 불편할 뿐더러, 현실적으로 2진법, 8진법, 10진법, 16진법을 제외하고는 쓸 일이 없다.


// https://www.acmicpc.net/problem/1550

import java.util.Scanner;

public class Main {
    
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.next();
        
        System.out.println(Integer.parseInt(input, 16));
    }
}

 

'Engineering Notes > Java & Spring' 카테고리의 다른 글

[Java] BOJ 18870: 좌표 압축과 랭킹 알고리즘  (1) 2025.02.24
큐 구현체 LinkedList vs ArrayDeque  (2) 2025.02.21
[Java] BOJ 13909: 창문 닫기와 힙 메모리 한도  (1) 2025.02.17
[Java] BOJ 11723: 비트마스크 (BitMask)  (1) 2025.02.10
[Java] BOJ 1654: 이진 탐색, 이분 탐색 (Binary Search)  (1) 2025.02.07
'Engineering Notes/Java & Spring' 카테고리의 다른 글
  • [Java] BOJ 18870: 좌표 압축과 랭킹 알고리즘
  • 큐 구현체 LinkedList vs ArrayDeque
  • [Java] BOJ 13909: 창문 닫기와 힙 메모리 한도
  • [Java] BOJ 11723: 비트마스크 (BitMask)
UTACT
UTACT
시작은 가볍게 이유는 무겁게
  • UTACT
    Software Engineer
    UTACT
    • GitHub
  • 전체
    오늘
    어제
  • 공지사항

    • README
  • 최근 글

    • 분류 전체보기 (126)
      • Project Logs (2)
        • DashHub (2)
        • Re:Act (0)
        • Samsung NW (0)
      • Engineering Notes (76)
        • Java & Spring (44)
        • Database & Persistence (1)
        • DevOps & Infra (4)
        • CS & Algorithms (26)
        • Security (1)
      • Reflections (5)
        • Retrospectives (1)
        • Feedback Received (3)
        • Challenges (1)
      • Tips (24)
      • Archive (19)
  • 태그

    버프 슈트
    Array
    REST
    BOJ
    BFS
    Data Type
    JPA
    DS
    cherry-pick
    .prettierrc
    IntelliJ
    타입 소거
    데이터 영속성
    팀 정렬
    토스페이먼츠
    heap
    iamdefinitelyabackenddeveloper
    Reallocation
    인접 노드 리스트
    Python
    heapify
    도커
    VS Code
    where-was-i
    OOP
    @CreatedDate
    vite
    hate-cnu
    CS
    듀얼 피봇 퀵 정렬
  • hELLO· Designed By정상우.v4.10.6
UTACT
[Java] BOJ 1550: Integer.parseInt()
상단으로

티스토리툴바