✏️ 문제풀이/백준
[백준/Java] 2745번 :: 진법 변환
bono-hye
2024. 4. 25. 21:35
🌱 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main
{
public static void main(String[] args) throws NumberFormatException, IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken();
int n = Integer.parseInt(st.nextToken());
int num = 0; // 10진수로 바꾼 값
int result = 0;
for(int i = str.length()-1,exp = 0; i >= 0; i--,exp++) //exp : 지수
{
char c = str.charAt(i);
if(c >= '0' && c <= '9')
num = c - '0';
else
num = c - 'A' + 10;
result += num * Math.pow(n, exp);
}
System.out.println(result);
}
}
💡 정리
진법 변환 문제를 코드로 풀려고 하니 좀 어려워서 종이에 쓰면서 풀었다ㅎ
지수 함수 사용해서 n^0 이런 식으로 하면 될 것 같은데 지수 함수를 까먹어서 검색의 힘을 빌려
여차저차 풀이 완료,,
아스키코드는 이제 익숙해진 것 같다!