PROGRAMMING/Algorithm

[Java 알고리즘] 특정 단어 뒤집기

불꽃야생마 2021. 8. 9. 19:05
문자열에서 알파벳 여부 확인

Q. 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력

package codingTest;
import java.util.*;
public class CodingTest_String_05 {
	public String solution (String str) {
		String answer = "";
		char[] charArr = str.toCharArray();
		int lt =0,rt = str.length()-1;
		
		while(lt<rt) {
			if(!Character.isAlphabetic(charArr[lt])) lt ++; //알파벳인지 확인
			else if (!Character.isAlphabetic(charArr[rt])) rt --;
			else { //둘다 알파벳이 맞다면 바꿔주기
				char tmp = charArr[lt];
				charArr[lt] = charArr[rt];
				charArr[rt] = tmp;
				lt ++;
				rt --;
			}
		}
		answer = String.valueOf(charArr);
		
		return answer;
	}
	
	public static void main(String[] args) {
		//a#b!GE*T@S

		CodingTest_String_05 T = new CodingTest_String_05();
		Scanner sc = new Scanner(System.in);
		String str = sc.next();
		System.out.println(T.solution(str));
		
	}

}

'PROGRAMMING > Algorithm' 카테고리의 다른 글

[Java 알고리즘] 단어 뒤집기  (0) 2021.08.09
[Java 알고리즘] 문장속 단어  (0) 2021.08.09
[Java 알고리즘] 대소문자 변환  (0) 2021.08.09
[Java 알고리즘] 문자 찾기  (0) 2021.08.09