알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요.
입출력 예
myString | myString |
---|---|
aBcDeFg | aBcDeFg |
aaa | aaa |
아스키 코드를 이용하여 대소문자를 구분하고 대문자인 것만 가져와(charAt) 아스키코드를 바꿔 출력하는 방법을 쓰려했는데 단순하게 전체를 바꾸는 방법이 있을거 같아 찾아봤더니 함수가 있어 두가지 방법으로 풀어보려고 한다.
1안(toLowerCase) => 해결
class Solution {
public String solution(String myString) {
return myString.toLowerCase();
}
}
2안(아스키 코드) => 해결
class Solution {
public String solution(String myString) {
// A => 65 a => 97 => 차이: 32
// Z => 90 z => 122
String answer = "";
* myString 의 길이
int len = myString.length();
* 반복분을 통해 myString의 각 글자가 Z보다 작을 경우에는 +32를 해서 소문자로 변경 - 아닐경우에는 그대로 answer에 추가
for(int i=0; i < len; i++){
if(myString.charAt(i) <= 'Z'){
answer += (char)((int)+ myString.charAt(i)+32);
} else{
answer += myString.charAt(i);
}
}
return answer;
}
}
String str = "aBcDeFg";
str = str.toUpperCase(); => ABCDEFG
str = str.toLowerCase(); => abcdefg