본문 바로가기
Computer Science/Algorithm

[Inflearn] 단어 뒤집기

by 코딩맛 2022. 10. 30.

인프런의 자바(Java)알고리즘 문제풀이 입문:코딩테스트 대비 강좌의 강의를 보고 문제 해설을 작성해보았습니다.

 

섹션1. String(문자열)의 4. 단어 뒤집기 강의편 입니다.

 

설명

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

 

입력

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

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

 

출력

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

import java.util.ArrayList;
import java.util.Scanner;

public class 단어_뒤집기 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		String[] str = new String[num];
		for(int i = 0; i < num; i++) {
			str[i] = sc.next();
		}
		solution(num, str);	
	}
	
	public static void solution(int num, String[] str) {
		
		Scanner sc = new Scanner(System.in);
		
		ArrayList<String> reArr = new ArrayList<>();
		
		for(int i = 0; i < num; i++) {
			String reverse = "";
			for(int j = str[i].length()-1; j>=0; j--) {
				reverse = reverse + str[i].charAt(j);
			}
			reArr.add(reverse);
		}
		
		for(String x : reArr) {
			System.out.println(x);
		}
	}

}

>>해설

Scanner 객체를 통해 입력받을 단어 수 만큼의 정수를 입력받습니다. -> num

입력받은 단어 크기의 String 타입의 배열을 생성해줍니다. -> str

num과 str을 solution() 메소드의 매개변수로 넘겨줍니다.

 

뒤집은 단어를 저장할 String 타입의 배열 리스트를 새로 정의해줍니다.

 

num에 들어있는 숫자만큼 반복문을 돌면서 해당 단어의 갯수의 -1에서 0까지 1씩 감소하면서 

뒤에 있는 단어부터 charAt() 함수로 하나씩 꺼내와 reverse 변수에 누적 시킵니다.

그리고 reverse에 담긴 단어를 reArr 배열 리스트에 추가 시킵니다.

 

최종적으로 reArr에 담긴 값들(단어)을 문자열 자료형이 x변수로 하나씩 꺼내와서 출력합니다.

 

'Computer Science > Algorithm' 카테고리의 다른 글

[Inflearn] 중복 문자 제거  (0) 2022.11.02
[Inflearn] 특정 문자 뒤집기  (0) 2022.10.30
[Inflearn] 문장 속 단어  (0) 2022.10.28
[Inflearn] 대소문자 변환  (0) 2022.10.24
[Inflearn] 문자찾기  (0) 2022.10.23