Integer 클래스란?
Java에서 정수와 관련된 유틸리티 메서드를 모아둔 클래스.
int 타입의 데이터를 객체로 래핑하여 유용한 기능들을 제공함
String 클래스 메서드 종류
- parseInt(String s): 문자열을 정수로 변환
String numStr = "123";
int num = Integer.parseInt(numStr);
System.out.println(num); // 출력: 123 - toString(int i): 정수를 문자열로 변환
int num = 123;
String numStr = Integer.toString(num);
System.out.println(numStr); // 출력: "123" - int1.compareTo(int2): int1와 int2의 값을 비교 (int1 > int2: 1 / int1 < int2: -1 / int == int2: 0)
Integer num1 = 100;
Integer num2 = 200;
int result = num1.compareTo(num2);
System.out.println(result); // 출력: -1 - intValue(): Integer 객체의 값을 int형으로 반환
Integer num = 123;
int intValue = num.intValue();
System.out.println(intValue); // 출력: 123 - valueOf(int i): 주어진 int 값을 Integer 객체로 변환하여 반환
int num = 123;
Integer integerObj = Integer.valueOf(num);
System.out.println(integerObj); // 출력: 123 - toBinaryString(int n): 정수를 2진수 문자열로 변환
- bitCount(int n): 정수의 2진수 표현에서 1의 개수 반환
int num = 10; // 이진수: 1010 (2진수로 1의 개수)
int count = Integer.bitCount(num);
System.out.println(count); // 출력: 2 - reverse(int i): 정수의 비트를 역순으로 뒤집은 값 반환
int num = 12345;
int reversedNum = Integer.reverse(num);
System.out.println(reversedNum); // 출력: 1260388352
관련 문제
[프로그래머스 문제]
정수 l과 r이 주어졌을 때, l 이상 r이하의 정수 중에서 숫자 "0"과 "5"로만 이루어진 모든 정수를 오름차순으로 저장한 배열을 return 하는 solution 메서드를 완성하시오
만약 그러한 정수가 없다면, -1이 담긴 배열을 return 하시오
<모범 답안>
import java.util.ArrayList;
class Solution {
public int[] solution(int l, int r) {
ArrayList<Integer> list = new ArrayList<>();
for (int i = 1; i < 64; i++) {
int num = Integer.parseInt(Integer.toBinaryString(i)) * 5;
if (l <= num && num <= r)
list.add(num);
}
return list.isEmpty() ? new int[] { -1 } : list.stream().mapToInt(i -> i).toArray();
}
}