본문 바로가기
Coding/Java - BaekJoon

[코드업/Codeup] Java : 1010~1018 풀이 [기초-입출력] #1

by 이브(Eve) 2024. 7. 1.

# 1010  : [기초-입출력] 정수 1개 입력받아 그대로 출력하기(설명)

입력 : 정수 1개
출력 : 입력된 정수를 그대로 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in); // 1
        int num = sc.nextInt(); // 2
        System.out.println(num); // 3

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
① java.util.Scanner 클래스를 호출하여 Scanner 객체 이용
② 정수를 입력받기 위해 nextInt 메서드 호출 --> 입력받은 정수가 num에 저장
③ num 변수 출력

# 1011  : [기초-입출력] 문자 1개 입력받아 그대로 출력하기(설명)

입력 : 문자 1개
출력 : 입력된 문자를 그대로 출력
 

import java.util.Scanner;

public class Evecat
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        System.out.println(str);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
** next 메서드
- String(문자열) 타입을 반환하는 메서드.
- 공백으로 문자열을 구분하기 때문에 공백을 만나기 전까지의 문자열을 반환한다.
ex) Hello World! << 를 입력할 경우 str에는 Hello만 저장된다.

# 1012  : [기초-입출력] 실수 1개 입력받아 그대로 출력하기(설명)

입력 : 실수값 1개
출력 : 입력된 실수값을 그대로 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        float num = sc.nextFloat();
        System.out.printf("%f", num);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
** printf 메서드 ( 출력 메서드 )
- 형식을 지정하여 출력을 할 수 있게 도와주는 메서드이다.
System.out.format 메서드를 사용해도 결괏값은 동일하게 출력된다.
ex) System.out.format("%f", num);
 
!! println 메서드로 출력할 경우 실수형 값이 문자열 값으로 변환되어 소수점 이하의 불필요한 0을 제거하기 때문에 답이 틀리게 나옵니다 !!
 
** %f 형식 지정자
- float와 double형을 출력할 수 있는 형식 지정자이다.
- 기본적으로 소수점 이하 6자리까지 출력한다.

# 1013  : [기초-입출력] 정수 2개 입력받아 그대로 출력하기(설명)

입력 : 정수 2개가 공백으로 구분되어 입력 
출력 : 입력된 두 정수를 공백으로 구분하여 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int num1 = sc.nextInt();
        int num2 = sc.nextInt();
        System.out.println(num1 + " " + num2);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
System.out.printf("%d %d", num1, num2);로 출력해도 결과는 똑같다.

# 1014  : [기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기(설명)

입력 : 문자 2개가 공백으로 구분되어 입력 
출력 : 입력된 두 문자의 순서를 바꿔 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String str1 = sc.next();
        String str2 = sc.next();
        System.out.println(str2 + " " + str1);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
System.out.printf("%s %s", str2, str1);로 출력해도 결과는 똑같다.

# 1015  : [기초-입출력] 실수 입력받아 둘째 자리까지 출력하기(설명)

입력 : 실수 1개
출력 : 소수점 셋 째 자리에서 반올림하여 소숫점 이하 둘째 자리까지 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        float num = sc.nextFloat();
        System.out.printf("%.2f", num);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
'%.nf' 는 실수형을 반올림하여 소숫점 이하 n번째 자리까지 출력하라는 뜻이다. 
즉, 문제에서 사용한 '%.2f'는 실수형을 반올림하여 소숫점 이하 2번째 자리까지 출력해달라는 뜻이다.

# 1017  : [기초-입출력] 정수 1개 입력받아 3번 출력하기(설명)

입력 : 정수 1개
출력 : 입력받은 정수를 공백으로 구분해 3번 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        System.out.println(num + " " + num + " " + num);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
System.out.printf("%d %d %d", num, num, num);로 출력해도 결과는 똑같다.

# 1018  : [기초-입출력] 시간 입력받아 그대로 출력하기(설명)

입력 : 시(hour)와 분(minute)이 ":" 으로 구분되어 입력
출력 : 입력받은 시간을 "시:분" 형식으로 출력
 

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        System.out.println(str);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}

 
시:분으로 입력되는 값을 하나의 문자열로 보고 next 메소드를 활용하여 간단하게 문제 해결!
:를 기준으로 구분하려면 따로 배열을 만들고 split 메서드를 활용해 분리해야 한다.
 

import java.util.Scanner;

public class Main 
{
    public static void main(String[] args) 
    {
        Scanner sc = new Scanner(System.in);

        String str = sc.next();
        String[] time = str.split(":");

        System.out.printf("%s:%s", time[0], time[1]);

        sc.close(); // 리소스 누수를 방지하기 위해 Scanner 객체 종료
    }
}