728x90
문제 설명
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- my_string은 영어 대문자와 소문자로만 구성되어 있습니다.
입출력 예
my_string | result |
"cccCCC" | "CCCccc" |
"abCdEfghIJ" | "ABcDeFGHij" |
입출력 예 설명
입출력 예 #1
- 소문자는 대문자로 대문자는 소문자로 바꾼 "CCCccc"를 return합니다.
입출력 예 #2
- 소문자는 대문자로 대문자는 소문자로 바꾼 "ABcDeFGHij"를 return합니다.
[ 풀이 1 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Solution {
public String solution(String my_string) {
String answer = "";
for(char ch : my_string.toCharArray()) {
if(ch>='a' && ch<='z') {
answer += (char)(ch-32);
}else if(ch>='A' && ch<='Z') {
answer += (char)(ch+32);
}
}
return answer;
}
}
|
1글자씩 반복하며 대문자이면 +32를 수행하고 소문자이면 -32를 수행한다. 'a' - 32 = 97 - 32 = 65 = 'A' 'A' + 32 = 65 + 32 = 97 = 'a' 문자와 정수를 연산하면 문자의 ASCII코드값으로 변경되어 계산이 이루어 진다. 자바에서 더하기 연산을 하면 결과가 int로 나온다. 다시 문자로 형변환해 주어야 한다. |
[ 풀이 2 ]
1
2
3
4
5
6
7
8
9
10
11
12
13
|
class Solution {
public String solution(String my_string) {
String answer = "";
for (String s : my_string.split("")) {
if (Character.isLowerCase(s.charAt(0))) {
answer += Character.toUpperCase(s.charAt(0));
} else if (Character.isUpperCase(s.charAt(0))) {
answer += Character.toLowerCase(s.charAt(0));
}
}
return answer;
}
}
|
Character.isLowerCase(문자) : 소문자이면 true 반환 Character.toUpperCase(문자) : 대문자로 반환 Character.toLowerCase(문자) : 소문자로 반환 |
[ 풀이 3 ]
1
2
3
4
5
6
7
8
9
10
|
import java.util.stream.Collectors;
class Solution {
public String solution(String my_string) {
return my_string.codePoints()
.mapToObj(operand ->
String.valueOf((char) (Character.isLowerCase(operand) ? operand-32 : operand+32))).
collect(Collectors.joining());
}
}
|
my_string.codePoints()은 문자열을 IntStream으로 만든다. mapToObj를 이용하여 요소를 반복하여 문자이면 대문자로 대문자이면 소문자로 바꿔 String 객체로 만들었다. Collectors.joining() 메서드는 Collector 입력 요소를 단일 문자열로 연결합니다. |
728x90
'프로그래머스 코딩(자바) > Level 0' 카테고리의 다른 글
Programmers Level 0 - 세균 증식 (0) | 2023.03.02 |
---|---|
Programmers Level 0 - 암호 해독 (0) | 2023.03.02 |
Programmers Level 0 - 가위 바위 보 (0) | 2023.03.02 |
Programmers Level 0 - 제곱수 판별하기 (0) | 2023.02.28 |
Programmers Level 0 - 개미 군단 (0) | 2023.02.28 |