분류: 문자열
▶문제
▶코드
//백준알고리즘 제출시 클래스 이름은 Main으로 바꿔야 됨
package character_string;
import java.util.Scanner;
public class p2908 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int y = sc.nextInt();
int A = reversing(x);
int B = reversing(y);
System.out.print(Math.max(A, B));
sc.close();
}
public static int reversing(int num) {
int reversed_num = 0;
int x = Integer.toString(num).length();
for(int i=x-1; i>=0; i--) {
int remain = num%10;
reversed_num += remain*(Math.pow(10, i)); //~의 몇제곱 사용할 때는 Math.pow(밑, 지수)
num = num/10;
}
return reversed_num;
}
}
▶문제가 쉽다고 생각하고 금방 풀어야지 했는데 시간이 엄청 걸렸다...
계속 10으로 나눈 나머지 수에 10의 제곱을 곱했는데
400이 나와야 하는데 자꾸 36이 나왔다.. ^사용이 잘못된건지
그래서 Math.pow(밑, 지수) 를 사용했더니 답이 나왔다.
▶처음엔 숫자를 문자열로 받아 charAt으로 맨 뒤부터 다시 append하여 숫자를 거꾸로 만든 후, 숫자로 또 바꿔 비교하려고 했다. 근데 이런 저런 (char를 string으로 바꾸고 또 int로 바꾸고 뭐 이런 과정들) 것들이 복잡하고 어떤 건 안되고 그래서 포기하고 숫자 10나머지를 10^i한 걸 바로 더하기로 했다.
▶stringBuilder는 String이 아니다.
Integer.parseInt()로 int로 바꾸려 했는데 String이 아니라고 빨간줄이 떴다.
package character_string;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class p2908_reverse {
public static void main(String[] args) {
try(BufferedReader br = new BufferedReader(new InputStreamReader(System.in));){
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int x = Integer.parseInt(new StringBuilder().append(st.nextToken()).reverse().toString());
int y = Integer.parseInt(new StringBuilder().append(st.nextToken()).reverse().toString());
System.out.print(x>y? x:y);
}catch(Exception e) { e.printStackTrace(); }
}
}
▶이것보다 더 간단한 방법은
위 코드처럼 .reverse()를 사용하는 것이다.
-토큰과 스트링빌더, reverse()이용
Integer.parseInt(new StringBuilder().append(st.nextToken()).reverse().toString());
토큰을 받아서 빌더에 넣고 역정렬한 후 문자열로 바꿨다.
채점결과
링크 www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
'백준알고리즘' 카테고리의 다른 글
백준알고리즘:p2941 크로아티아 알파벳 (0) | 2021.03.09 |
---|---|
백준알고리즘:p5622 다이얼 (0) | 2021.03.08 |
백준알고리즘:p1436 영화감독 숌 (0) | 2021.03.07 |
백준알고리즘:p7568 덩치 (0) | 2021.03.06 |
백준알고리즘:p2231 분해합 (0) | 2021.03.03 |
댓글