Leetcode Java Base 7
업데이트:
문제
코드
class Solution {
public String convertToBase7(int num) {
if (num == 0) {
return "0";
} else {
StringBuilder sb = new StringBuilder();
String sign = "";
if (num < 0) {
num *= -1;
sign = "-";
}
while (num > 0) {
sb.append(num % 7);
num /= 7;
}
return sb.append(sign).reverse().toString();
}
}
}
결과
설명
-
num을 7진수로 변환한 문자열로 반환하는 문제이다.
-
num이 0인 경우 변환할 필요가 없으므로, 그대로 0을 문자열로 반환한다.
- 문제 풀이에 필요한 변수를 정의한다.
- sb는 num을 7진수로 변환한 문자열을 동적으로 넣을 변수로, 효율적인 메모리 사용을 위해 StringBuilder를 사용한다.
- sign은 num이 음수일 경우 부호를 넣을 변수로, 빈 문자열로 초기화한다.
-
num이 0보다 작은 음수인 경우, sign에 음수 기호인 “-“을 넣어주고 num에 -1을 곱해서 양수로 만들어준다.
- num이 0보다 클 때 까지 반복하여 아래를 수행한다.
- num을 7로 나눈 나머지 값을 sb에 넣어주고, num을 7로 나눠준다.
- 반복이 완료되면 부호를 저장한 sign을 이어주고 sb에 저장한 문자를 앞뒤로 반전시킨 문자열로 변환하여 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기