Java

#4 자바(JAVA) 알고리즘 문제풀이 : 코딩테스트 대비 / 단어 뒤집기

kminnnee 2023. 2. 9. 20:19

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

.

.

입력 : 3  good  Time  Big         출력: doog  emiT  giB


< 방법 1 >

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

public class Inflearn4 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> answer = new ArrayList<>();       // arraylist 선언
        int n = scanner.nextInt();
        String[] A = new String[n];
        for(int i=0; i< A.length; i++) {
            A[i] = scanner.next();                // 입력한 n 만큼 배열에 넣는다
        }
        for(String x : A) {
            String tmp = new StringBuilder(x).reverse().toString();     // reverse() 메소드를 사용하기 위해 stringbuilder 사용
            answer.add(tmp);                // arraylist 에 넣을때는 add() 사용 !
        }
        for(String x : answer) {
            System.out.println(x);       // 출력
        }
    }
}

* foreach 문 사용 , 입력된 배열을 String 변수에 넣음 

 - StringBuilder() 를 사용함으로써 reverse() 메소드 사용 

- Arraylist 에 있는 add() 메소드 사용

 

 

< 방법 2 - 함수 사용 > 

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

public class Inflearn41 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        ArrayList<String> answer = new ArrayList<>();
        int N = scanner.nextInt();
        String[] A = new String[N];
        for(int i=0; i<N; i++) {
            A[i] = scanner.next();
        }

        for(String x : A) {
            char[] s = x.toCharArray();    // 받은 문자열A를 문자열 배열로 선언
            int left =0;
            int right = x.length()-1;        // 길이의 -1 를 해야 알맞은 인덱스번호
            while(left < right) {
                char tmp = s[left];
                s[left] = s[right];
                s[right] = tmp;
                left++;
                right--;
            }
            String str = String.valueOf(s);  // NullPointerException를 발생방지, toString()은 NullPointerException를 발생시킴
            answer.add(str);
        }
        System.out.println(answer);
    }
}

* 함수를 사용 

* String.valueOf() :  NullPointerException를 발생방지, toString()은 NullPointerException를 발생시킴 

 

출처 : https://www.inflearn.com/course/%EC%9E%90%EB%B0%94-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%ED%85%8C%EB%8C%80%EB%B9%84/dashboard

 

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 인프런 | 강의

자바(Java)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 코딩테스트에서 가장 많이 출제되는 Top 10 Topic을 다루고 있습니다. 주제와 연동하여 기초문제부터 중급문제까지 단계적으로 구성

www.inflearn.com