본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1706 : 5개의 데이터

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1706 5개의 데이터 (자바, JAVA)입니다.

Intro

Question

문제 설명

5개의 데이터를 입력받아 거꾸로 출력하는 프로그램을 작성하시오.

입력

5개의 숫자를 입력받는다.
입력되는 숫자는 100 미만의 자연수이다.

출력

입력받은 수를 역순으로 출력한다.

예시

  • 입력 : 20 45 77 32 56
  • 출력 : 56 32 77 45 20

Solution (풀이)

  • 풀이 1 : 메모리 11188, 시간 : 102
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        String a = st.nextToken();
        String b = st.nextToken();
        String c = st.nextToken();
        String d = st.nextToken();
        String e = st.nextToken();

        System.out.println(e + " " + d + " " + c + " " + b + " " + a);
    }

}
  • 풀이 2 : 메모리 11184, 시간 : 69
public class Answer2 {

    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();

        String[] arr = new String[5];
        for (int i=0; i<5; i++) {
            arr[i] = st.nextToken(); // 토큰에서 하나씩 꺼내어 배열에 저장
        }

        for (int i=4; i>=0; i--) {
            sb.append(arr[i]).append(" "); // 역순으로 저장 
        }

        System.out.println(sb);
    }

}
  • 풀이 3 : 메모리 11184, 시간 : 68
public class Answer3 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // String을 공백 기준으로 split하여 배열에 저장
        String[] arr = br.readLine().split(" ");

        for (int i=4; i>=0; i--) {
            sb.append(arr[i]).append(" "); // 역순으로 꺼내어 저장
        }

        System.out.println(sb);
    }

}

Ranking(순위)

반응형