728x90
반응형
728x90
영어 알파벳과 특수문자로 구성된 문자열이 주어지면 영어 알파벳만 뒤집고,
특수문자는 자기 자리에 그대로 있는 문자열을 만들어 출력하는 프로그램을 작성할 때,
이번에 새롭게 알게 된 메서드를 사용하여 풀면 좀 더 간단하고 쉽게 풀 수 있다.
char[] s = str.toCharArray();
// 문자열을 쪼개서 char 배열로 만들어주는 메서드
반응형
Character.isAlphabetic(ch)
// 해당 문자가 알파벳인지 확인해주는 메서드
다음 입력이 주어질 때,
a#b!GE*T@S
다음과 같이 출력이 되어야 한다.
S#T!EG*b@a
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Main m = new Main();
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(m.solution(str));
}
public static String solution(String str) {
String answer = "";
char[] s = str.toCharArray();
int sf = 0, sl = str.length() - 1;
while(sf < sl) {
if(!Character.isAlphabetic(s[sf])) sf++;
else if(!Character.isAlphabetic(s[sl])) sl--;
else {
char temp = s[sf];
s[sf] = s[sl];
s[sl] = temp;
sf++;
sl--;
}
}
for (int i = 0; i < s.length; i++) {
answer += s[i];
}
return answer;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
[알고리즘/java] 조합을 구하는 코드 공식 (0) | 2021.11.30 |
---|---|
[알고리즘/java] 2차원 배열 행, 열, 대각선 최대값 구하기 (0) | 2021.09.06 |
[알고리즘/java] 에라스토테네스의 체 - int형 배열 (0) | 2021.09.06 |
[알고리즘/java] 알맞은 팰린드롬(회문) (0) | 2021.09.06 |
[알고리즘/java] 중복된 문자 제거하기 (0) | 2021.09.06 |
댓글