문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
32비트 정수 num이 주어졌을 때, 해당 정수의 16진수 표현을 문자열로 반환해라. 음의 정수인 경수, 2의 보수 방식을 사용한다.
응답 문자열의 모든 문자는 소문자여야 하며, 0 자체를 제외하고는 앞에 0이 붙어서는 안 된다.
#1
Input: num = 26
Output: "1a"
#2
Input: num = -1
Output: "ffffffff"
class Solution {
public String toHex(int num) {
if(num == 0) return "0";
char[] hexChars = "0123456789abcdef".toCharArray();
StringBuilder sb = new StringBuilder();
while(num != 0){
int rem = num & 15;
sb.append(hexChars[rem]);
num >>>= 4;
}
return sb.reverse().toString();
}
}