기타/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();
}
}