ezhoon

[인프런] 01-04 단어 뒤집 본문

[Java] 인프런 문제풀이/Stirng(문자열)

[인프런] 01-04 단어 뒤집

ezhoon 2022. 1. 16. 21:09

문제


  • 첫 줄에 자연수 N이 주어진다.
  • 두 번째 줄부터 N개의 단어가 각 줄에 하나씩 주어진다 (영어만 가능)

 

⚠️주의사항


  • StringBuilder 사용하기
  • 단어 뒤집어서 출력하기
    • good -> doog

 

문제풀이


1. BufferedReader + StringBuilder 사용

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Java01_04 {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringBuilder sb = new StringBuilder();

    public String solution(int N) throws IOException {

         for (int i = 0; i < N; i++) {
             String reverse = "";
             String str = br.readLine();

             for (int j = str.length() - 1; j >= 0; j--) {
                 reverse = reverse + str.charAt(j);
             }
             sb.append(reverse).append("\n");
         }
         return sb.toString();
     }

     public static void main(String[] args) throws IOException {

         Java01_04 t = new Java01_04();
         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

         int N = Integer.parseInt(br.readLine());

         System.out.println(t.solution(N));
     }
}

 


2. Scanner + StringBuilder

import java.util.*;
public class Main {	
	public ArrayList<String> solution(int n, String[] str){
		ArrayList<String> answer=new ArrayList<>(); 
		for(String x : str){
			String tmp=new StringBuilder(x).reverse().toString();
			answer.add(tmp);
		}
		return answer;
	}

	public static void main(String[] args){
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		int n=kb.nextInt();
		String[] str=new String[n];
		for(int i=0; i<n; i++){
			str[i]=kb.next();
		}
		for(String x : T.solution(n, str)){
			System.out.println(x);
		}
	}
}

StringBuilder의 reverse를 이용해서 값을 뒤집어서 저장 후 add해서 answer에 저장해줍니다.


결과

Comments