누룽지맛치킨
어미새의 개발일지
누룽지맛치킨
전체 방문자
오늘
어제
  • 분류 전체보기 (86)
    • 코틀린 (8)
    • 안드로이드 (5)
      • 디자인 (2)
      • 개발 (2)
      • 도구 (1)
    • 피그마 (1)
    • 대외활동 (0)
    • 프로젝트 (0)
    • 백준 (55)
      • JAVA (55)
    • 알고리즘 (3)
    • 클라우드 (5)
    • 스터디 (2)
      • 코테 (2)
    • 자료구조 (5)
    • 컴퓨터 기술 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 안드로이드
  • 백준 자바
  • 자료구조
  • 자바 Priority Queue
  • 클라우드
  • 백준 자바 벌집
  • Room version 올리기
  • 백준 자바 2292번
  • 코틀린 runBlocking
  • 안드로이드 디자인
  • 백준 자바 다이나믹 프로그래밍
  • 백준 자바 정렬
  • 클라우드 컴퓨팅
  • 코틀린 인 액션
  • 백준 자바 2559번
  • 알고리즘 조합
  • 백준 자바 수열
  • 코틀린
  • 백준 자바 누적합
  • Room Migration

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
누룽지맛치킨

어미새의 개발일지

백준/JAVA

[백준/JAVA] 2908번 상수

2023. 1. 18. 09:57
  • 2개의 수를 뒤집어서 더 큰 수를 출력

https://www.acmicpc.net/problem/2908

1. 문제

상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다.

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

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

2. 문제 접근

  • 2개의 값을 입력받는다.
  • 2개의 수를 뒤집고 비교를 한다. -> 3가지 방법을 제시하려고 한다!!
  • 더 큰 수를 출력한다.

​

핵심 코드!

  • 2개의 값을 입력받고 더 큰 수를 출력하는 것은 거의 대부분 같은 방법을 사용하여 표현할 것 이다. 하지만 2개의 수를 두집는 경우는 여기서 3가지 정도를 제시하겠다.

1) 두 개의 값을 정수로 취급하는 경우

​

2) 두 개의 값을 문자열로 취급하는 경우

  • 문자 하나하나 뒤에서 부터 새로운 문자열에 붙이는 경우
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer st = new StringTokenizer(br.readLine());
    int[] num = new int[5];
          for(int i=0;i<2;i++) {
              num[i] = Integer.parseInt(st.nextToken());
              num[2] = num[i] / 100;
              num[3] = (num[i]/10) % 10;
              num[4] = num[i] % 10;
              num[i] = (num[4]*100) + (num[3]*10) + num[2];
          }
    StringBuilder sb1 = new StringBuilder();
    StringBuilder sb2 = new StringBuilder();
    for(int i=0;i<3;i++)
    {
      sb1.append(str1.charAt(2-i));
      sb2.append(str2.charAt(2-i));
    }
  • StringBuilder의 reverse()메소드를 이용하는 경우
    StringBuilder sb1 = new StringBuilder();
    StringBuilder sb2 = new StringBuilder();
    sb1.reverse();
    sb2.reverse();

3. 코드

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

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        StringBuilder sb = new StringBuilder(st.nextToken());
        sb = sb.reverse();
        int num1 = Integer.parseInt(sb.toString());
        sb = new StringBuilder(st.nextToken());
        sb = sb.reverse();
        int num2 = Integer.parseInt(sb.toString());
        if(num1 > num2) {
            System.out.println(num1);
        }
        else {
            System.out.println(num2);
        }
    }
}

'백준 > JAVA' 카테고리의 다른 글

[백준/JAVA] 1316번 그룹 단어 체커  (2) 2023.01.19
[백준/JAVA] 2941번 크로아티아 알파벳  (0) 2023.01.18
[백준/JAVA] 단계별로 풀어보기(5단계) 코드 모음  (0) 2023.01.18
[백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음  (0) 2023.01.18
[백준/JAVA] 8958번 OX퀴즈  (0) 2023.01.18
    '백준/JAVA' 카테고리의 다른 글
    • [백준/JAVA] 1316번 그룹 단어 체커
    • [백준/JAVA] 2941번 크로아티아 알파벳
    • [백준/JAVA] 단계별로 풀어보기(5단계) 코드 모음
    • [백준/JAVA] 단계별로 풀어보기(4단계) 코드 모음
    누룽지맛치킨
    누룽지맛치킨

    티스토리툴바