티스토리 뷰

728x90
반응형

문제

 

상근이의 동생 상수는 수학을 정말 못한다. 

상수는 숫자를 읽는데 문제가 있다. 

이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 

상근이는 세 자릿수 두 개를 칠판에 써주었다. 

그다음에 크기가 큰 수를 말해보라고 했다.

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 

예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 

따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오.

 

입력

 

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 

두 수는 같지 않은 세 자릿수이며, 0이 포함되어 있지 않다.

 

출력

 

첫째 줄에 상수의 대답을 출력한다.

 

풀이

 

StringBuilder와 Stream을 섞어서 풀었다.

 

사실 두 개의 세 자리 숫자라고 못 박아뒀기 때문에 이렇게까지 할 필요는 없지만..

 

아무튼 문제 풀이 과정은 이렇다.

 

  1. 두 숫자를 스트링 빌더 타입으로 받아 리스트에 저장한다.
  2. 스트림을 생성해 스트링 빌더의 reverse()를 사용해 뒤집는다.
  3. 이후 뒤집힌 문자열을 int로 변환, 크기를 변환해 출력한다.
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Prob2908 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        List<StringBuilder> list = new ArrayList<>();

        for (int i = 0; i < 2; i++) {
            list.add(new StringBuilder(sc.next()));
        }

        int result = list.stream()
                .map(a -> a.reverse().toString())
                .mapToInt(Integer::parseInt)
                .max()
                .getAsInt();

        System.out.println(result);
    }
}
반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함