Algorithm

[인프런/Java] 특정 문자 뒤집기

1984 2022. 11. 15. 16:27

[인프런] 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 - 김태원

* Chapter 1.5

* Character.isAlphabetic() 메소드를 사용할 수 있다. (englishChecker 만들어 사용할 필요 없음)

import java.io.*;
import java.util.*;

public class Main {

	static boolean englishChecker(char c) {
		if ('A' <= c && c <= 'Z' || 'a' <= c && c <= 'z') {
			return true;
		} else {
			return false;
		}
	}

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

		Scanner in = new Scanner(System.in);
		String str = in.next();

		char[] charArr = str.toCharArray();

		int left = 0;
		int right = charArr.length - 1;

		while (left < right) {
			if (!englishChecker(charArr[left])) {
				left++;
			} else if (!englishChecker(charArr[right])) {
				right--;
			} else {
				char temp = charArr[left];
				charArr[left] = charArr[right];
				charArr[right] = temp;
				left++;
				right--;
			}
		}

		System.out.println(String.valueOf(charArr));

	}

}
728x90