[프로그래머스] Lv.0 A 강조하기

이다혜·2023년 10월 26일
0

프로그래머스

목록 보기
28/61
post-thumbnail

📎 문제 출처


https://school.programmers.co.kr/learn/courses/30/lessons/181874

📌 문제 설명


문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.

❓ 풀이 방법


처음에는 문자가 a 또는 A이면 A로 바꾸고 A가 아닌 소문자면 소문자 그대로, 그 외에 대문자면 소문자로 바꿔서 StringBuilder에 추가하는 식으로 풀었는데
다 풀고 나서 다른 사람의 코드를 보니까 미리 문자열 전체를 소문자로 바꾸고 a일 경우만 A로 바꾸는 방법이 있어서 깜짝 놀랐다.
코드를 문제 그대로 풀기 전에 간단하게 푸는 방법도 생각해봐야겠다.

📌 Code


  1. 내가 생각한 코드
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();
    }
}
  1. 다른 사람의 코드를 참고한 코드
class Solution {
    public String solution(String myString) {
        myString = myString.toLowerCase();
        return myString.replaceAll("a", "A");
    }
}

0개의 댓글