https://school.programmers.co.kr/learn/courses/30/lessons/181874
문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.
처음에는 문자가 a 또는 A이면 A로 바꾸고 A가 아닌 소문자면 소문자 그대로, 그 외에 대문자면 소문자로 바꿔서 StringBuilder에 추가하는 식으로 풀었는데
다 풀고 나서 다른 사람의 코드를 보니까 미리 문자열 전체를 소문자로 바꾸고 a일 경우만 A로 바꾸는 방법이 있어서 깜짝 놀랐다.
코드를 문제 그대로 풀기 전에 간단하게 푸는 방법도 생각해봐야겠다.
class Solution {
public String solution(String myString) {
StringBuilder sb = new StringBuilder();
for (char c : myString.toCharArray()) {
if (c == 'a' || c == 'A') sb.append('A');
else if (c >= 'b' && c <= 'z') sb.append(c);
else sb.append(Character.toLowerCase(c));
}
return sb.toString();
}
}
class Solution {
public String solution(String myString) {
myString = myString.toLowerCase();
return myString.replaceAll("a", "A");
}
}