백엔드개발자/알고리즘관련

특정단어 뒤집기 / Character.isAlphabetic() , String.valueOf(), toString()

보혀니 2021. 10. 10. 22:02

 

 

/*
 * 영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,

 * 특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는
 * 프로그램을 작성하세요
 * 
 * 첫 줄에 길이가 100을 넘지 않는 문자열이 주어집니다.
 * 
 * 첫 줄에 알파벳만 뒤집힌 문자열을 출력합니다.
 */

 

import java.util.Scanner;

public class Main {

	public String solution(String str) {
		String answer;
		char[] s = str.toCharArray();
		int lt = 0;
		int rt = str.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);
		String str = kb.next();
		System.out.println(T.solution(str));
	}

}

 

입력값/ 결과값

변수 lt 는 left / rt 는 right 임ㅋㅋㅋ

 

Character.isAlphabetic()

isAlphabetic()

영문자 인지 확인하는 메소드

+ isLetter() 

 

 

 

Charater의 다른메소드

isUpperCase();  => 대문자 확인

isLowerCase();  => 소문자 확인

isDigit(); => 숫자 확인

 

 

 

String.valueOf()

Object값을 String으로 변환하는 메소드

 

?? toString() 과 뭐가 다른가??

 

차이

String.valueOf() 

=> 값이 null이면 문자열 "null"을 반환한다.

toString()

=> 값이 null 이면 Null PointerException을 발생 시킴

 

 

 

String.valueOf / toString 참고 

https://swjeong.tistory.com/146