ToBe끝판왕

[ 알고리즘 ] 백준 1330번 문제 - 자바( JAVA ) 본문

■ 알고리즘/백준 JAVA

[ 알고리즘 ] 백준 1330번 문제 - 자바( JAVA )

업그레이드중 2022. 5. 18. 17:25
반응형

주의사항

※ 백준에서 정해진 출력 형식을 출력해야 한다.
※ 백준 알고리즘에서는 클래스명을 Main으로 해주어야 한다.

 


 

백준 1330번 문제

 

백준 알고리즘의 단계별 문제 풀기

2단계 < 조건문 >

 

 

 해당 문제 링

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

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

 


 

코딩 하기

 

1) Scanner 사용

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();
        
        if( A > B ) {
        	System.out.println( ">" );
        } else if( A < B ) {
        	System.out.println( "<" );
        } else {
        	System.out.println( "==" );
        }
    }
}

 

 

2) BufferedReader 사용

import java.io.BufferedReader;
import java.io.IOException;
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 ) );
        
        String Str = br.readLine();
        StringTokenizer st = new StringTokenizer( Str, " " );
        
        int A = Integer.parseInt( ( st.nextToken() ) );
        int B = Integer.parseInt( ( st.nextToken() ) );
        
        System.out.println( ( A > B ) ? ">" : (( A < B ) ? "<" : "==" ) );
        
    }
}

 

 

 

문제 해결

 

 

1) Scanner 이용

▶  if 조건문 사용

•  ( A > B ) 라는 조건식이 참일때는 ">" 출력문이 실행되게 하고

•  거짓중에 ( A < B ) 조건식이 참일때는 "<" 출력문이 실행되게 한다.

•  그리고, 모든 조건식을 충족하지 않을때는 "==" 출력문이 실행되게 한다.

        if( A > B ) {
        	System.out.println( ">" );
        } else if( A < B ) {
        	System.out.println( "<" );
        } else {
        	System.out.println( "==" );
        }

 

 

※ 삼항연산자

위의 if 조건문을 간단하게 줄일 수 있다.

•  삼항연산자의 기본문법

변수 = ( 조건문 ) ? ( true 일때의 연산 ) : ( false 일때의 연산 );


•  위의 if 조건문 => 삼항연산자

String Str = ( A > B ) ? ">" : (( A < B ) ? "<" : "==" );
System.out.println( Str );

 

 

2) BufferedReader 사용

readLine( ) 은 한행을 전부 읽기 때문에, 공백단위로 입력해준 문자열을 공백단위로 분리해주기 위해

StringTokenizer 클래스를 이용하여 , " " 처리를 하였다.

 

그리고 자료형 타입을 보면

st.nextToken( ) 은 문자열을 반환하기 때문에 Integer.parseInt( )로 Int형으로 형변환을 시켜준다.

        String Str = br.readLine();
        StringTokenizer st = new StringTokenizer( Str, " " );
        
        int A = Integer.parseInt( ( st.nextToken() ) );
        int B = Integer.parseInt( ( st.nextToken() ) );

 

 

※ StringTokenizer 클래스

BufferedReader 클래스의 메서드로 입력을 읽으면, 라인단위로 읽어들일 수 밖에 없기 때문에

컴마 , 특정문자, 공백 등 문자열을 나누고 싶을 때 이용한다.

 

java.utill 패키지의 StringTokenizer 클래스를 import 해서 사용한다.

import java.util.StringTokenizer;

 

 

 

 

반응형
Comments