[JAVA] 코드업 기초 100문제 - [기초-입출력] 1010 ~ 1027

박서현·2021년 5월 25일
0

앞선 글에서는 출력에 관한 문제와 답안을 작성했다.
[JAVA] 코드업 기초 100문제 - [기초-출력]

오늘 글에서는 코드업 기초 100문제 중 입출력에 관한 문제와 답안을 정리할 것 이다.

내용이 조금 많아서, 작성 완료하는 데 시간이 많이 걸렸다.

코드업 1010 : [기초-입출력] 정수 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        int n = scanner.nextInt();
        
        System.out.println(n);
    }
}

설명) 사용자의 입력을 받기 위해서 쓰는 Scanner 클래스를 사용한다. 사용하기 위해서는, 아래와 같다.
1) 현재 클래스 외부에 있는 Scanner 클래스 import 하기
import java.util.Scanner;
2) Scanner 객체 생성하기
Scanner scanner = new Scanner(System.in);
3) 생성한 객체에서 제공하는 .next(); 메서드를 통해서 값을 받아오기
scanner.nextInt();

코드업 1011 : [기초-입출력] 문자 1개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        String x = scanner.nextLine();
        
        System.out.println(x);
    }
}

설명) Scanner 클래스의 nextInt(), nextDoble(), nextFloat() 등 메서드는 리턴 타입에 따라서 메서드가 달라진다.
1011 문제처럼, String을 리턴하는 메서드는 두 가지가 있는데, 바로
next(), nextLine() 이렇게 두 가지 이다.

설명) next() 의 경우에는, 공백이 포함되지 않은 문자열을 입력할 때, 사용하고
nextLine()은 공백이 포함된 문자열을 입력할 때 사용한다. 왜냐하면, next()를 사용하여, 띄어쓰기를 하면, 현재 입력이 끝난다. 그러나, nextLine()은 엔터를 눌러야지만, 현재 입력이 끝난다.

설명) 그렇다면, nextInt(), nextDoble, nextFloat() 등의 리턴타입이 정해진 입력 메서드들은 공백을 포함하는 경우에 쓰는가? 아니면 그렇지 않은가? 정답은, 공백이 포함되지 않은 경우에 사용한다.

코드업 1012 : [기초-입출력] 실수 1개 입력받아 그대로 출력하기

import java.util.Scanner;

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

코드업 1013 : [기초-입출력] 정수 2개 입력받아 그대로 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
        
        int a, b;
        
        Scanner scanner = new Scanner(System.in);
        a = scanner.nextInt();
        b = scanner.nextInt();
        
        System.out.printf("%d%n%d", a, b);
    }
}

코드업 1014 : [기초-입출력] 문자 2개 입력받아 순서 바꿔 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
           
        Scanner sc = new Scanner(System.in);
        
        String a = sc.next();
        String b = sc.next();
        
        System.out.printf("%s %s", b, a);

    }
}

코드업 1015 : [기초-입출력] 실수 입력받아 둘째 자리까지 출력하기

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

    }
}

코드업 1017 : [기초-입출력] 정수 1개 입력받아 3번 출력하기

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        

        System.out.printf("%d %d %d", a , a , a);

    }
}

코드업 1018 : [기초-입출력] 시간 입력받아 그대로 출력하기

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.printf("%s", str);


    }
}

코드업 1019 : [기초-입출력] 연월일 입력받아 그대로 출력하기

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

        String a = sc.nextLine();
		sc.close();
        
        String[] aNum = a.split("\\.",3);
        
        String a1 = aNum[0];
        String a2 = aNum[1];
        String a3 = aNum[2];


        int int1 = Integer.parseInt(a1);
        int int2 = Integer.parseInt(a2);
        int int3 = Integer.parseInt(a3);


        System.out.printf("%04d.%02d.%02d", int1, int2, int3);

    }
}

코드업 1020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc.next();
        
        sc.close();

        String[] aNum = str.split("\\-",2);

        String str1 = aNum[0];
        String str2 = aNum[1];

        System.out.printf("%s%s", str1, str2);
    }
}

코드업 1021 : [기초-입출력] 단어 1개 입력받아 그대로 출력하기

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.printf("%s", str);
    }
}

코드업 1022 : [기초-입출력] 문장 1개 입력받아 그대로 출력하기

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String str = sc. nextLine();
        
        System.out.printf("%s", str);
    }
}

코드업 1023 : [기초-입출력] 실수 1개 입력받아 부분별로 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
      	Scanner sc = new Scanner(System.in);
      	
      	String num = sc.nextLine();
      	
      	String[] numArr = num.split("\\.");
      	
      	System.out.printf("%s%n%s", numArr[0], numArr[1]);

    }
}

코드업 1024 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기

import java.util.Scanner;
public class Main{
    public static void main (String[] args) {
      Scanner sc = new Scanner(System.in);
      
      String str = sc.nextLine();
      
      for(int i =0; i < str.length() ; i++){
          System.out.printf("\'%s\'%n" , str.charAt(i));
      }
    }
}

코드업 1025 : [기초-입출력] 정수 1개 입력받아 나누어 출력하기

import java.util.Scanner;

public class Main{
    public static void main (String[] args) {
      
      Scanner sc = new Scanner(System.in);
      
      String numStr = sc.nextLine();
      	      /* 각 자리수를 int로 바꾸고, int 배열에 넘는 반복문 */
	      for (int i= 0; i < numStr.length() ; i++) {
	          
	          /* 각 자리수에 맞는 수로 바꾸어 출력하는 반복문 */
	          System.out.println("["+( (numStr.charAt(i) - '0') * (int) Math.round(Math.pow(10, 4-i)))+"]");
	          
	          /* charAt(i) - '0' 에서  
	          charAt(i) 는 문자 '7' 이다. 여기서
	          -'0'을 해야,
	          해당 문자를 나타내는 아스키 코드를 숫자로 바꿀 수 있다.
	          */
	      } 
	      
	      
    }
}

코드업 1026 : [기초-입출력] 시분초 입력받아 분만 출력하기

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
    
        String time = sc.nextLine();
        StringTokenizer st = new StringTokenizer(time, ":");
        String[] str = new String[3];
        int i=0;
        while(st.hasMoreTokens()) {
            str[i]=st.nextToken();
            i++;
        }
        int min = Integer.parseInt(str[1]);
        System.out.println(min);
      
    }
}

코드업 1027 : [기초-입출력] 년월일 입력 받아 형식 바꿔 출력하기

import java.util.Scanner;
import java.util.StringTokenizer;

public class Main{
    public static void main (String[] args) {
        Scanner sc = new Scanner(System.in);
        
        String time = sc.nextLine();
        StringTokenizer st = new StringTokenizer(time, ".");
        String[] str = new String[3];
        int i=0;
        while(st.hasMoreTokens()) {
            str[i]=st.nextToken();
            i++;
        }
        
        int year = Integer.parseInt(str[0]);
        int mon = Integer.parseInt(str[1]);
        int day = Integer.parseInt(str[2]);

        System.out.printf("%s-%s-%s", String.format("%02d", day),
        		String.format("%02d", mon), String.format("%04d", year));
      
    }
}
profile
불편함을 당연시 여기지 않고, 더 나은 프로세스를 위해, 더 나은 사용자 경험을 위해, 공부하고, 메모하고, 개발하는 박서현 입니다.

0개의 댓글

관련 채용 정보