티스토리 뷰

반응형

 

문제

N개의 단어가 주어지면 각 단어를 뒤집어 출력하는 프로그램을 작성하세요.

 

입력

첫 줄에 자연수 N(3<=N<=20)이 주어집니다.

두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어집니다. 단어는 영어 알파벳으로만 구성되어 있습니다.

 

출력

N개의 단어를 입력된 순서대로 한 줄에 하나씩 뒤집어서 출력합니다.

 

 

 

예시 입력

3
good
Time
Big

예시 출력

doog
emiT
giB

 

 

 

 

 

문제 풀이

 

[첫번째 풀이]

import java.util.Scanner;
  
public class Main {
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    int count = Integer.parseInt(in.nextLine());
    String[] input = new String[count];

    for (int i=0; i<count; i++) {
      input[i] = in.nextLine();
    }

    for (int i=0; i<count; i++) {
      String result = "";

      for (int j=input[i].length()-1; j>=0; j--) {
        result += input[i].charAt(j);
      }

      System.out.println(result);
    }
  }
}

(Time 157ms / Memory 27MB)

import java.util.Scanner;
  
public class Main {
  public void Solution(String[] input) {
    for (int i=0; i<input.length; i++) {
      String result = "";

      for (int j=input[i].length()-1; j>=0; j--) {
        result += input[i].charAt(j);
      }

      System.out.println(result);
    }
  }
  
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    int count = Integer.parseInt(in.nextLine());
    String[] input = new String[count];

    for (int i=0; i<count; i++) {
      input[i] = in.nextLine();
    }

    Main main = new Main();
    main.Solution(input);
  }
}

(Time 156ms / Memory 27MB)

 

[두번째 풀이]

import java.util.Scanner;
  
public class Main {
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    int count = Integer.parseInt(in.nextLine());
    String[] input = new String[count];

    for (int i=0; i<count; i++) {
      input[i] = in.nextLine();
    }

    for (int i=0; i<count; i++) {
      StringBuffer str = new StringBuffer(input[i]);
      System.out.println(str.reverse());
    }
  }
}

(Time 159ms / Memory 27MB)

import java.util.Scanner;
  
public class Main {
  public void Solution(String[] input) {
    for (int i=0; i<input.length; i++) {
      StringBuffer str = new StringBuffer(input[i]);
      System.out.println(str.reverse());
    }
  }
  
  public static void main(String[] args){
    Scanner in = new Scanner(System.in);
    int count = Integer.parseInt(in.nextLine());
    String[] input = new String[count];

    for (int i=0; i<count; i++) {
      input[i] = in.nextLine();
    }

    Main main = new Main();
    main.Solution(input);
  }
}

(Time 156ms / Memory 27MB)

 

 

 

- 문자열 배열을 이용해 첫번째 받은 int 값만큼 for 문을 돌려 문자를 입력 받는다.

- 첫번째 풀이는 for 문을 이용해 푸는 방법이고, 두번째 풀이는 StringBuffer의 reverse 메소드를 이용해 푸는 방법이다.

 

 

 

 

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함