[JAVA] 4. 단어 뒤집기

2021. 4. 14. 00:58
728x90

설명

 

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

 

입력

 

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

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

 

출력

 

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

 

예시 입력 1 

3 good Time Big

 

예시 출력 1

doog emiT giB

 

 

풀이

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
    int input = in.nextInt();
    //입력받을 문자열을 담을 배열
    String[] arr = new String[input];
 
 	// 답 배열
 	String[] answer = new String[input];
    
    // 문자열을 입력받아 저장
    for(int i=0; i<input; i++) {
    	arr[i] = in.next();
    }
    
    for(int i=0; i<arr.length; i++) {
    	String s = "";
        // 문자열을 뒤에서부터 한글자씩 s에 저장
        for(int j=arr[i].length()-1 j>=0; j--){
        	s += arr[i].charAt(j);
        }
        answer[i] = s;
    }
    
	for(String a : answer) {
    		System.out.println(a);
	}
    
  }
}

 

 

다른 풀이

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
    int input = in.nextInt();
    //입력받을 문자열을 담을 배열
    String[] arr = new String[input];
 	// 답 리스트
 	List<String> answer = new ArrayList<>();
    
    // 문자열을 입력받아 저장
    for(int i=0; i<input; i++) {
    	arr[i] = in.next();
    }
    
    for(String s : arr) {
    // 스트링빌더객체로 변환후 문자열을 뒤집고, 다시 스트링객체로
    	String tmp = new StringBuilder(s).reverse().toString();
        answer.add(tmp);
    }
    
	for(String a : answer) {
    		System.out.println(a);
	}
    
  }
}

 

 

다른 풀이

 

 

import java.util.Scanner;
  
public class Main {

  public static void main(String[] args){
  
    Scanner in=new Scanner(System.in);
    
    int input = in.nextInt();
    //입력받을 문자열을 담을 배열
    String[] arr = new String[input];
 	// 답 리스트
 	List<String> answer = new ArrayList<>();
    
    // 문자열을 입력받아 저장
    for(int i=0; i<input; i++) {
    	arr[i] = in.next();
    }
    
    for(String x : arr) {
   		
        // 문자열을 문자배열로 변환
        char[] s = x.toCharArray();
        // lt 왼쪽 첫번째 인덱스, rt 오른쪽 마지막 인덱스
        int lt=0, rt=x.length()-1;
        
        // 양쪽 끝값의 자리를 교환
        while(lt<rt){
        	char tmp = s[lt];
            s[lt] = s[rt];
            s[rt] = tmp;
            
            lt++;
            rt++;
        }
        
        // char배열을 스트링으로 String.valueOf();
        String tmp = String.valueOf(s);
        answer.add(tmp);
    }
    
	for(String a : answer) {
    		System.out.println(a);
	}
    
  }
}
728x90

'알고리즘 > JAVA' 카테고리의 다른 글

[JAVA] 6. 중복문자 제거  (0) 2021.04.14
[JAVA] 5. 특정 문자 뒤집기  (0) 2021.04.14
[JAVA] 3. 문장 속 가장 긴 단어 찾기  (0) 2021.04.14
[JAVA] 2. 대소문자 변환  (1) 2021.04.14
[JAVA] 1. 단어뒤집기  (0) 2021.04.14

BELATED ARTICLES

more