기타/study

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 16)

javaboiii 2025. 1. 14. 08:30

문제 설명

알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요.


제한사항
  • 1 ≤ myString의 길이 ≤ 100,000
    • myString은 알파벳으로 이루어진 문자열입니다.

 

입출력 예
myString result
"aBcDeFg"
"ABCDEFG"
"AAA" "AAA"
class Solution {
    public String solution(String myString) {
        return myString.toUpperCase();
    }
}

문제 설명

알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.


제한사항
  • 1 ≤ myString의 길이 ≤ 100,000
    • myString은 알파벳으로 이루어진 문자열입니다.

 

입출력 예
myString result
"aBcDeFg"
"abcdefg"
"aaa "aaa
class Solution {
    public String solution(String myString) {
        return myString.toLowerCase();
    }
}

문제 설명

문자열 배열 strArr가 주어집니다. 모든 원소가 알파벳으로만 이루어져 있을 때, 배열에서 홀수번째 인덱스의 문자열은 모든 문자를 대문자로, 짝수번째 인덱스의 문자열은 모든 문자를 소문자로 바꿔서 반환하는 solution 함수를 완성해 주세요.


제한사항
  • 1 ≤ strArr ≤ 20
    • 1 ≤ strArr의 원소의 길이 ≤ 20
    • strArr의 원소는 알파벳으로 이루어진 문자열 입니다.

 

입출력 예
strArr result
["AAA","BBB","CCC","DDD"]
["aaa","BBB","ccc","DDD"]
["aBc","AbC"] ["abc","ABC"]
입출력 예 설명

입출력 예 #1

  • strArr[0]과 strArr[2]는 짝수번째 인덱스의 문자열이므로 모두 소문자로 바꿔서 "aaa"와 "ccc"가 됩니다.
  • strArr[1]과 strArr[3]는 홀수번째 인덱스의 문자열인데 원래 대문자이므로 그대로 둡니다.
  • 따라서 ["aaa","BBB","ccc","DDD"]를 return 합니다.

입출력 예 #2

  • strArr[0]은 짝수번째 인덱스의 문자열이므로 소문자로 바꿔서 "abc"가 됩니다.
  • strArr[1]은 홀수번째 인덱스의 문자열이므로 대문자로 바꿔서 "ABC"가 됩니다.
  • 따라서 ["abc","ABC"]를 return 합니다.
class Solution {
    public String[] solution(String[] strArr) {
        for (int i = 0; i < strArr.length; i++) {
            if (i % 2 == 0) {
                // 짝수 번째 인덱스는 소문자로 변환
                strArr[i] = strArr[i].toLowerCase();
            } else {
                // 홀수 번째 인덱스는 대문자로 변환
                strArr[i] = strArr[i].toUpperCase();
            }
        }
        return strArr;
    }
}

문제 설명

문자열 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 합니다.
class Solution {
    public String solution(String myString) {
        StringBuilder result = new StringBuilder();
        
        for (int i = 0; i < myString.length(); i++) {
            char ch = myString.charAt(i);  // 문자열의 각 문자 확인
            
            if (ch == 'a') {
                result.append('A');  // 'a'는 'A'로 변환
            } else if (ch == 'A') {
                result.append('A');  // 'A'는 그대로 'A'로 변환 (변경할 필요 없음)
            } else if (ch >= 'B' && ch <= 'Z') {
                result.append(Character.toLowerCase(ch));  // 'A' 제외한 대문자는 소문자로 변환
            } else {
                result.append(ch);  // 다른 문자는 그대로
            }
        }
        return result.toString();  // 결과 문자열 반환
    }
}

문제 설명

영소문자로 이루어진 문자열 my_string과 영소문자 1글자로 이루어진 문자열 alp가 매개변수로 주어질 때, my_string에서 alp에 해당하는 모든 글자를 대문자로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.


제한사항
  • 1 ≤ my_string의 길이 ≤ 1,000

 

입출력 예
my_string alp result
"programmers"
"p" "Programmers"
"lowercase" "x" "lowercase"

입출력 예 설명

입출력 예 #1

  • 예제 1번의 my_string은 "programmers"이고 alp가 "p"이므로 my_string에 모든 p를 대문자인 P로 바꾼 문자열 "Programmers"를 return 합니다.

입출력 예 #2

  • 예제 2번의 alp는 "x"이고 my_string에 x는 없습니다. 따라서 "lowercase"를 return 합니다.
class Solution {
    public String solution(String my_string, String alp) {
        StringBuilder result = new StringBuilder();
        
        for (int i = 0; i < my_string.length(); i++) {
            char ch = my_string.charAt(i);
            
            // alp와 일치하는 문자가 있으면 대문자로 변환하여 추가
            if (ch == alp.charAt(0)) {
                result.append(Character.toUpperCase(ch));
            } else {
                result.append(ch);  // 일치하지 않으면 그대로 추가
            }
        }
        
        return result.toString();
    }
}