알고리즘/JAVA

5. 특정 문자 뒤집기

vivi 2021. 8. 31. 03:19
import java.util.*;

class Main {
	public String solution(String x) {
		String answer = "";

		char[] s = x.toCharArray();
		int lt = 0, rt = x.length() - 1;
		while (lt < rt) {
			if (!((s[lt] >= 'A' && s[lt] <= 'Z') || (s[lt] >= 'a' && s[lt] <= 'z'))) {
				lt++;
				continue;
			} else if (!((s[rt] >= 'A' && s[rt] <= 'Z') || (s[rt] >= 'a' && s[rt] <= 'z'))) {
				rt--;
				continue;
			} else {
				char tmp = s[lt];
				s[lt] = s[rt];
				s[rt] = tmp;
				lt++;
				rt--;
			}
		}
		answer = String.valueOf(s);
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		System.out.println(T.solution(kb.nextLine()));
	}
}

 

 

 

import java.util.*;

class Main {
	public String solution(String x) {
		String answer = "";

		char[] s = x.toCharArray();
		int lt = 0, rt = x.length() - 1;
		while (lt < rt) {
			if (!Character.isAlphabetic(s[lt])) {
				lt++;
			} else if (!Character.isAlphabetic(s[rt])) {
				rt--;
			} else {
				char tmp = s[lt];
				s[lt] = s[rt];
				s[rt] = tmp;
				lt++;
				rt--;
			}
		}
		answer = String.valueOf(s);
		return answer;
	}

	public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		System.out.println(T.solution(kb.nextLine()));
	}
}

Character.isAlphabetic(s[rt])