https://www.acmicpc.net/problem/2908
2908번: 상수
상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두
www.acmicpc.net
💡주의 사항
입력받은 수 그대로가 아닌, 입력받은 수의 거꾸로(reverse)된 값으로 판단한다
🗒 풀이
java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
sc.close();
a = Integer.parseInt(new StringBuilder().append(a).reverse().toString());
b = Integer.parseInt(new StringBuilder().append(b).reverse().toString());
System.out.println(Math.max(a, b));
}
}
java의 StringBuilder에서 reverse 메서드를 지원하는 것을 사용했다. 새로운 StringBuilder 객체 생성 후, 입력받은 a, b 각각을 추가하고, 이것을 reverse() 메서드를 사용해 역순 정렬 후, 문자열로 반환한다. 그 후, 문자열인 값을 Integer.parseInt()로 정수로 변환한다.
python
1) reversed() 사용
a, b = map(str, input().split())
a = int(''.join(reversed(a)))
b = int(''.join(reversed(b)))
print(max([a, b]))
파이썬 리스트의 reversed 함수를 사용하여 역순으로 정렬 후, join() 함수를 사용하여 문자열로 변환한다. 그 후, int로 변환한다.
2) [::-1] 사용
a, b = input().split()
a = int(a[::-1]) # [::-1] 역순
b = int(b[::-1])
print(a if a > b else b)
리스트를 역순으로 만드는 [::-1]를 사용한다
예를 들면 lst변수에 [0, 1, 2, 3, 4, 5, 6] 이라는 값이 있을 때, lst[3::-1]의 결과값은 [3, 2, 1, 0]이다. 즉, index 3의 값 부터 역순(-1)으로 가져오는 것이다.
'알고리즘' 카테고리의 다른 글
[백준] 3052번: 나머지(java, python) (0) | 2022.07.11 |
---|---|
[백준] 2920번: 음계 (java, python) (0) | 2022.07.11 |
[백준] 2753번: 윤년 (java, python) (0) | 2022.07.08 |
[백준] 2742번: 기찍 N (java, python) (0) | 2022.07.07 |
[백준] 2741번: N 찍기 (java, python) (0) | 2022.07.07 |