[코드업 기초100제]1021~1030

최수정·2022년 10월 7일
0

자바프로그래밍

목록 보기
6/15

💡 1021번 charAt()
💡 1024번 toCharArray() : 문자열을 char형 배열로 바꿔준다. 반환되는 배열의 길이는 문자열의 길이와 같다.
💡 1025번 Math.pow(밑,지수) : 제곱승 표현
💡 1029번 실수 반올림 하기

System.out.println(String.format("%.11f", input));

System.out.printf("%.11f", input);

1021번) 단어 1개 입력받아 그대로 출력하기

입력:
한 단어가 입력된다.(단, 단어의 길이는 50자 이하이다.)

문자를 50개 저장하기 위해서는 char data[51] 로 선언하면 된다.

char data[51]="";
scanf("%s", data);

를 실행하면, data[51] 에 한 단어가 저장된다.


public class Q1021 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        
        for (int i=0; i < input.length(); i++) {
            System.out.print(input.charAt(i));
        }
        
    }
}

1022번) 문장 1개 입력받아 그대로 출력하기

입력: 공백이 포함되어 있는 한 문장이 입력된다. 단, 입력되는 문장은 여러 개의 단어로 구성되고, 엔터로 끝나며,최대 길이는 2000 문자를 넘지 않는다.
예시: Programming is very fun!!

public class Q1022 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();

        System.out.println(input);
    }
}

1023번) 실수 1개를 입력받아 정수 부분과 실수 부분으로 나누어 출력하기

입력: 실수 1개가 입력된다.(단, 입력값은 절댓값이 10000을 넘지 않으며, 소수점 이하 자릿수는 최대 6자리까지이고 0이 아닌 숫자로 시작한다.)
예시:
1.414213

출력 예시
1
414213


public class Q1023 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();

        String[] inArr = input.split("\\.");

        System.out.printf("%d\n%d",
                Integer.valueOf(inArr[0]),
                Integer.valueOf(inArr[1])
        );

    }
}

1024번) 단어 1개 입력받아 나누어 출력하기

입력:Boy
출력:
'B'
'o'
'y'


public class Q1024 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        br.close();
        
        char [] chars = input.toCharArray();

        for (char c : chars ) {
            System.out.printf("\'%c\'\n",c);
        }
    }

}

1025번) 정수 1개 입력받아 나누어 출력하기

입력: 다섯 자리의 정수 1개를 입력받아 각 자리별로 나누어 출력한다. (단, 10,000 <= 입력받는 수 <= 99,999 )
입력 예시
75254

출력: 각 자리의 숫자를 분리해 한 줄에 하나씩 [ ]속에 넣어 출력한다.
출력 예시

import java.util.Scanner;

public class Q1025 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int input = sc.nextInt();
        sc.close();

        for (int i = 4; i > 0; i--) {

            System.out.println("[" + (input / (int) Math.pow(10, i)) * (int) Math.pow(10, i) + "]");
            input = input % (int) Math.pow(10, i);
        }
        System.out.print("[" + input + "]");

    }
}


1026번) 시분초 입력받아 분만 출력하기

입력 예시
17:23:57

출력 예시
23

public class Q1026 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        br.close();

        String [] inArr = input.split(":");
        System.out.printf("%d",Integer.valueOf(inArr[1]));

    }
}

1027번) 년월일 입력 받아 형식 바꿔 출력하기

년월일(yyyy.mm.dd)를 입력받아,

일월년(dd-mm-yyyy)로 출력해보자.

(단, 한 자리 일/월은 0을 붙여 두자리로, 년도도 0을 붙여 네자리로 출력한다.)

입력 예시
2014.07.15

출력 예시
15-07-2014


public class Q1027 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String input = br.readLine();
        br.close();


        String [] strArr = input.split("\\.");
        int [] intArr = new int[3];

        for (int i=0; i < intArr.length; i++) { // split 담은 배열의 값을 int로 바꿔 int 배열에 넣는 for문 
            intArr[i] = Integer.parseInt(strArr[i]);
        }

        System.out.printf("%02d-%02d-%04d",intArr[2],intArr[1],intArr[0]);


    }
}

1028번) 정수 1개 입력받아 그대로 출력하기2 : 자료형

정수 1개를 입력받아 그대로 출력해보자.
(단, 입력되는 정수의 범위는 0 ~ 4,294,967,295 이다.)

참고
int 형으로 변수 : -2147483648 ~ +2147483647 범위의 정수 저장/처리
unsigned int 데이터형을 사용하면 0 ~ 4294967295 범위의 정수를 저장할 수 있다.

입력 예시
2147483648

출력 예시
2147483648


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

        long input = sc.nextLong();
        
        sc.close();

        System.out.println(input);

    }
}

1029번) 실수 1개 입력받아 그대로 출력하기2 : 실수반올림

참고

  • float : +- 3.410-38 ~ +- 3.41038 범위의 실수를 저장할 수 있다.
    double : +- 1.710-308 ~ +- 1.710308 범위의 실수를 저장할 수 있다.
    double형은 float형보다 저장공간을 2배 더 사용한다.

입력
소수점 아래 숫자가 11개 이하인 실수 1개가 입력된다.
(단, 입력되는 실수의 범위는 +- 1.710-308 ~ +- 1.710308 이다.)

출력
입력된 실수를 소수점 이하 11자리까지 반올림하여 출력한다.

입력 예시
3.14159265359

출력 예시
3.14159265359

import java.util.Scanner;

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

        double input = sc.nextDouble();

        sc.close();

        // System.out.println(String.format("%.11f", input));

        System.out.printf("%.11f", input);


    }
}

0개의 댓글