문제 설명
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
입출력 예
입출력 설명
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
코드
class Solution {
public String solution(String my_string) {
String answer = "";
StringBuilder sb = new StringBuilder();
for(int i=0; i<my_string.length(); i++) {
if(!Character.isLowerCase(my_string.charAt(i)))
sb.append(Character.toLowerCase(my_string.charAt(i)));
else
sb.append(Character.toUpperCase(my_string.charAt(i)));
}
answer = sb.toString();
return answer;
}
}
풀이
my_string을 문자로 분리해 각각의 문자가 대문자인지 소문자인지 확인하여 결과에 따라 대문자는 소문자로, 소문자는 대문자로 변환하여 StringBuilder에 추가해준다. 그 후, StringBuilder를 문자열로 변환한다.
다른 코드와 풀이
아래의 코드는 다른 사람들이 작성한 것들로, 내 코드와 비교, 참고하기 위해 가져왔다.
class Solution {
public String solution(String myString) {
return myString.chars().mapToObj(operand -> String.valueOf((char) (Character.isLowerCase(operand) ? Character.toUpperCase(operand) : Character.toLowerCase(operand)))).collect(Collectors.joining());
}
}
myString을 문자스트림으로 변환하여 그것이 소문자라면 대문자로 바꾸고, 소문자가 아닌 대문자라면, 소문자로 바꿔 그것을 join을 이용해 붙여 반환한다.
'Coding Test' 카테고리의 다른 글
230928 숫자 찾기 - Level 0 (0) | 2023.09.28 |
---|---|
230927 인덱스 바꾸기 - Level 0 (0) | 2023.09.27 |
230926 중복된 문자 제거 - Level 0 (0) | 2023.09.26 |
230926 문자열 정렬하기 (1) - Level 0 (0) | 2023.09.26 |
230925 삼각형의 완성조건 (1) - Level 0 (0) | 2023.09.25 |