728x90
- 알파벳만 뒤집기
public class Main {
public String solution(String s) {
String answer = "";
String alphabet = "";
for (int i = 0; i < s.length(); i ++) {
if (Character.isAlphabetic(s.charAt(i))) {
alphabet += s.charAt(i);
}
}
alphabet = new StringBuffer(alphabet).reverse().toString();
int pos = 0;
for (int i = 0; i < s.length(); i ++) {
if (Character.isAlphabetic(s.charAt(i))) {
answer += alphabet.charAt(pos ++);
} else {
answer += s.charAt(i);
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
String s1 = "a#b!GE*T@S";
String s2 = "###ab*@@Sty";
System.out.println(T.solution(s1));
System.out.println(T.solution(s2));
}
}
public class Main {
public String solution(String s) {
String answer = "";
char[] str = s.toCharArray();
int lt = 0,
rt = s.length() - 1;
while (lt < rt) {
if (!Character.isAlphabetic(str[lt]))
lt ++;
else if (!Character.isAlphabetic(str[rt]))
rt --;
else {
char tmp = str[lt];
str[lt] = str[rt];
str[rt] = tmp;
lt ++;
rt --;
}
}
answer = String.valueOf(str);
return answer;
}
public static void main(String[] args) {
Main T = new Main();
String s1 = "a#b!GE*T@S";
String s2 = "###ab*@@Sty";
System.out.println(T.solution(s1));
System.out.println(T.solution(s2));
}
}
< 실행 결과 >
S#T!EG*b@a
###yt*@@Sba
반응형
'전.java' 카테고리의 다른 글
[Java] 회문 문자열 (0) | 2024.04.07 |
---|---|
[Java] 문자열 압축 (0) | 2024.04.07 |
[Java] 수열의 경우수 (0) | 2023.02.01 |
[Java] 최대 길이 바이토닉 (0) | 2023.02.01 |
[Java] 바이토닉 수열 (0) | 2023.01.31 |