ㅁ 문제
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
ㅁ 제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
ㅁ 입출력 예
ㅁ 풀이
class Solution {
public String solution(String my_string) {
char[] cc = my_string.toCharArray();
for(int i=0; i<cc.length; i++){
if(cc[i] >= 'a' && cc[i] <= 'z'){
cc[i] -= 32;
}else if(cc[i] >= 'A' && cc[i] <= 'Z'){
cc[i] += 32;
}
}
return new String(cc);
}
}
- new String(char[]) 생성자를 사용해서 char[] 배열을 String으로 변환할 수 있다.
ㅁ 다른 풀이 (char[]배열 미사용)
class Solution {
public String solution(String my_string) {
String answer = "";
for(int i=0; i<my_string.length(); i++){
if(my_string.charAt(i) >= 'a' && my_string.charAt(i) <= 'z'){
answer += (char) (my_string.charAt(i) - 32);
}else if(my_string.charAt(i) >= 'A' && my_string.charAt(i) <= 'Z'){
answer += (char) (my_string.charAt(i) + 32);
}else{
answer += my_string.charAt(i);
}
}
return answer;
}
}
- charAt() 메서드는 문자열에서 특정 문자를 반환할 수 있지만, 문자열 자체를 수정할 수는 없습니다.
문자열은 불변 객체(immutable)이기 때문에, charAt()을 통해 반환된 문자를 직접 수정할 수 없습니다.
- my_string.charAt(i)에 -또는 +32를 하고 (char)로 다시 형변환해줘야 한다.
my_string.charAt(i)는 문자를 반환하지만, 산술 연산(- 32 또는 + 32)을 하면 정수 값이 된다.
정수 값을 문자로 변환하려면 (char)로 캐스팅해야 합니다.
'코딩테스트 > 프로그래머스 Lv.0' 카테고리의 다른 글
삼각형의 완성조건 (1) (0) | 2025.01.19 |
---|---|
[문제] n의 배수 고르기 (0) | 2024.10.10 |
[문제] 숨어있는 숫자의 덧셈 (1) (0) | 2024.10.10 |
[문제] 문자 반복 출력하기 (0) | 2024.10.10 |
[문제] 짝수는 싫어요 (0) | 2024.10.10 |