극동대학교\AI컴퓨터공학과\JAVA/프로그래머스 코딩 기초 트레이닝

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

sundori 2024. 1. 5. 17:15

목차

    #1 A 강조하기

    문제 설명

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

    제한사항

    • 1 ≤ myString의 길이 ≤ 20
      • myString은 알파벳으로 이루어진 문자열입니다.

    입출력 예

    myString result
    "abstract algebra" "AbstrAct AlgebrA"
    "PrOgRaMmErS" "progrAmmers"

    입출력 예 설명

    입출력 예 #1

    • 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다.
    • 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
    • 따라서 "AbstrAct AlgebrA"를 return 합니다.

    입출력 예 #2

    • 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다.
    • 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다.
    • 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다.
    • 따라서 "progrAmmers"를 return 합니다.

    #2 알고리즘 및 코드

    public class Main {
        public static void main(String[] args) {
            String myString = "abstract algebra";
    
            Solution sl = new Solution();
            System.out.println(sl.solution(myString));
        }
    }
    class Solution {
        public String solution(String myString) {
            String answer = "";
    
            for (char c : myString.toCharArray()) {
                if (c == 'a') {
                    answer += 'A';
                } else if (Character.isUpperCase(c)) {
                    answer += Character.toLowerCase(c);
                } else {
                    answer += c;
                }
            }
    
            return answer;
        }
    }
    • 주어진 문자열 변수 myString에서 각 원소를 순회하는데 'a'라면 대문자 'A'로 변환하고
      'A'가 아니고 대문자라면 소문자로 변환한다.