JAVA/JAVA baekjoon

진법 변환

hoonssss 2023. 8. 16. 13:01
반응형
SMALL
package backjoon;
import java.util.*;
public class 연습 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        int num = sc.nextInt();

        int result = 0;
        int power = 0;

        for (int i = str.length() - 1 ; i >= 0 ; i--) {
            char c = str.charAt(i);
            int digit = Character.isDigit(c) ? c - '0' : c - 'A' + 10;
            result += digit * Math.pow(num,power);
            power++;
        }
        System.out.println(result);
    }
}
삼항연산자 
int digit = Character.isDigit(c) ? c - '0' : c - 'A' + 10;
if로 가능
if(Character.isDigit(c)){
   digit = c - '0';
   }else {
   digit = c - 'A' + 10 ;
   }

Character.isDigit(c) -> c가 숫자면 c - '0', c가 문자면 c - 'A' + 10

1)c가 숫자인경우 char값임

c - '0' 해주면 0~9 숫자 값이 나옴

2)c가 문자인경우 char값임

c - 'A' + 10 해주면 A~Z에 대응하는 10~35값이 나옴

문자를 숫자로

package backjoon;
import java.util.*;
public class 연습2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int num2 = sc.nextInt();
        String result = change(num,num2);
        System.out.println(result);

    }
    public static String change(int num,int num2){
        StringBuilder str = new StringBuilder();
        while(num > 0){
            int function = num % num2;
            if(function < 10) {
                str.insert(0, (char) ('0' + function));
            }else {
                str.insert(0, (char) ('A' + function - 10));
            }
            num/=num2;
        }return str.toString();
    }
}

숫자를 문자로

반응형
LIST

'JAVA > JAVA baekjoon' 카테고리의 다른 글

2차원 배열 max, 행, 열 찾기  (0) 2023.08.16
색종이  (0) 2023.08.16
중앙이동알고리즘  (0) 2023.08.16
거스름돈 계산  (0) 2023.08.16
삼각형과 세 변  (0) 2023.08.16