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

·2023년 11월 24일
0

Coding Test

목록 보기
38/39
post-thumbnail

🤔 코드 풀이

내 코드 (toCharArray)

package practice.test.coding;

import java.util.Scanner;

public class WordFlipping {
	
	public static String solution(String str) {
		
		char[] charArr = str.toCharArray();
		
		int start = 0;
		int end = charArr.length - 1;
		
		while(start < end) {
			char temp = charArr[start];
			charArr[start] = charArr[end];
			charArr[end] = temp;
			
			start++;
			end--;
		}
		
		return new String(charArr);
	}

	public static void main(String[] args) {

		Scanner kb = new Scanner(System.in);
		int i = kb.nextInt();
		String[] str = new String[i];
		
		for(int x=0; x<i; x++) {
			str[x] = kb.next();
		}
		
		for(String x : str) {
			System.out.println(solution(x));
		}

	}
}

다른 코드 (StringBuilder)

package practice.test.coding;

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

public class WordFlipping {

	public static ArrayList<String> solution(int i, 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) {

		Scanner kb = new Scanner(System.in);
		int i = kb.nextInt();

		String[] str = new String[i];

		for(int x=0; x<i; x++) {
			str[x] = kb.next();
		}

		for(String x : solution(i, str)) {
			System.out.println(x);
		}
	}
}

✨ 실행 결과

숫자를 입력할 경우 입력한 숫자만큼 문자를 입력할 수 있고, 그 문자의 순서는 반전된다.


toCharArray() 메소드로 문자열을 char형 문자 배열로 만드는 것을 계속해서 연습하는 중이다. 문자의 대소문자를 변환하거나 순서를 바꾸는 등 다양하게 활용할 수 있을 것 같다.

그런데 String 연산이 많아질 경우에는 StringBulider()를 사용하여 보다 효율적인 코딩이 가능하다. 위 풀이에서는 reverse() 메소드를 사용해 보았다. 이 방법이 간단해 보이기는 하지만, 상황에 따라 첫 번째 방법과 두 번째 방법을 적재적소에 쓸 수 있는 능력을 기르자.

profile
풀스택 개발자 기록집 📁

0개의 댓글