[BaekJoon][문자열][Java] 2908: 상수

2024. 8. 13. 15:46·코딩테스트/Java

<문제>

상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다.

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

 

<입력>

첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다.

 

<출력>

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

 

<핵심 아이디어>

%,*연산을 통해 숫자를 뒤집어서 재배열하기

 

1. 상근이가 칠판에 적은 수 A, B 입력 받기
 2. 각각의 수를 거꾸로 배열하기
 3. 거꾸로 배열한 수의 크기를 비교하여 큰 수 출력하기

 

<풀이>

package BOJ.string;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class BOJ2908 {	
	/**
	 * 숫자를 뒤집는 메소드
	 * @param num
	 * @return
	 */
	public static int reverse(int num) {
		int reverse = 0;
		while(num > 0) {
			int digit = num % 10; // 10으로 나눈 나머지는 1의 자리
			reverse = reverse * 10 + digit; // 일의 자리부터 *10을 통해 한 자리씩 digit을 배치
			num /= 10; // 그 다음 자리의 값을 추출하기 위해서 /10 연산
		}
		return reverse;
	}
	
	public static void main(String[] args) throws IOException {
		// 1. 상근이가 칠판에 적은 수 A, B 입력 받기
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int A, B, reverseA, reverseB;
		StringTokenizer st  = new StringTokenizer(br.readLine());
		A = Integer.parseInt(st.nextToken());
		B = Integer.parseInt(st.nextToken());
		
		// 2. 각각의 수를 거꾸로 배열하기
		reverseA = reverse(A);
		reverseB = reverse(B);
        // 또는 Stringbuilder의 .reverse() 메서드도 이용 가능
		
		// 3.크기 비교하여 출력
		if(reverseA > reverseB) System.out.println(reverseA);
		else System.out.println(reverseB);
        // 또는 System.out.println(Math.max(reverseA,reverseB)); 도 가능
		
		br.close();
	}
}

'코딩테스트 > Java' 카테고리의 다른 글

[백준] NO.1966 : 프린터 큐  (0) 2024.10.12
[BaekJoon][자료 구조][Queue][Java] 큐 구현하기  (0) 2024.08.10
[BaekJoon][자료 구조][Stack][Java] 2563: 색종이  (0) 2024.08.10
[BaekJoon][자료 구조][Stack][Java] 10799 : 쇠막대기  (0) 2024.08.10
[BaekJoon][자료 구조][Stack][Java] 1935 : 후위 표기식2  (0) 2024.08.10
'코딩테스트/Java' 카테고리의 다른 글
  • [백준] NO.1966 : 프린터 큐
  • [BaekJoon][자료 구조][Queue][Java] 큐 구현하기
  • [BaekJoon][자료 구조][Stack][Java] 2563: 색종이
  • [BaekJoon][자료 구조][Stack][Java] 10799 : 쇠막대기
프린이8549
프린이8549
임고 준비생에서 개발자로 전직하기
  • 프린이8549
    새싹 개발자의 성장 일지
    프린이8549
  • 전체
    오늘
    어제
    • 분류 전체보기 (40)
      • SQL 응용 (0)
        • SQL (0)
      • 프로그래밍 언어 활용 (15)
        • JAVA (11)
        • JavaScript (1)
        • SPRING (3)
      • 프로젝트 개발 기록 (3)
        • GORANG (0)
        • EWMS (0)
        • MKG (0)
      • 코딩테스트 (9)
        • Java (9)
        • SQL (0)
      • 자료구조와 알고리즘 (12)
        • 자료구조 (8)
        • 알고리즘 (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    해시테이블
    코딩테스트 #알고리즘 #자바 #lis #최장증가부분수열
    II
    해시함수
    자료구조
    해시맵
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
프린이8549
[BaekJoon][문자열][Java] 2908: 상수
상단으로

티스토리툴바