문제
- Character.isAlphabetic(문자) : boolean반환
- lt, rt 포인터 쓰기
- String클래스 valueOf() 메소드 : 문자열을 반환하는 메소드, 아래 코드에선 char형배열을 String으로 반환함
package prep.test.coding;
import java.util.ArrayList;
import java.util.Scanner;
public class ReverseWordOnCondition {
public String solution(String str) {
String answer = "";
char[] charArr = str.toCharArray();
int lt = 0;
int rt = str.length()-1;
while(lt < rt) {
if(!Character.isAlphabetic(charArr[lt])) lt++;
else if(!Character.isAlphabetic(charArr[rt])) rt--;
else {
char tmp = charArr[rt];
charArr[rt] = charArr[lt];
charArr[lt] = tmp;
lt++;
rt--;
}
}
answer = String.valueOf(charArr);
return answer;
}
public static void main(String[] args){
ReverseWordOnCondition rw = new ReverseWordOnCondition();
Scanner sc = new Scanner(System.in);
String input = sc.next();
System.out.println(rw.solution(input));
}
}
출처
'Algorithm (Java) > 인프런 알고리즘강의' 카테고리의 다른 글
[인프런/알고리즘] 문자열 - 가장 짧은 문자거리 (0) | 2023.04.25 |
---|---|
[인프런/알고리즘] 문자열 - 회문 문자열 (0) | 2023.04.25 |
[인프런/알고리즘] 문자열 - 문장 내 가장 긴 단어 출력하기 (0) | 2023.04.25 |
[인프런/알고리즘] 문자열 - 단어 뒤집기 (0) | 2023.04.25 |
[인프런/알고리즘] 최대수입스케쥴 (우선순위 큐) (0) | 2023.04.07 |