Coding Practice/프로그래머스 Lv.0
대소문자 바꿔서 출력
ailen22
2024. 1. 18. 14:55
[문제]
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.
예시)
입력
aBcDeFg
출력
AbCdEfG
[답]
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
//문자 입력 받기
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
//문자열에서 특정위치 문자 반환
for(int i = 0; i < a.length(); i++) {
char c = a.charAt(i);
//if 소문자라면 대문자로 바꾼다 else 대문자라면 소문자로 바꿈
if(Character.isLowerCase(c)) {
answer += Character.toUpperCase(c);
} else {
answer += Character.toLowerCase(c);
}
}
//for문까지 마치고 난 뒤의 답
System.out.print(answer);
}
}
charAt() : 문자열에서 특정위치의 문자를 반환
toUpperCase() : 대문자로 변환
toLowerCase() : 소문자로 변환
[다른사람의 풀이]
for(Character c : a.toCharArray()){
if(Character.isUpperCase(c)){
//stack.push(Character.toLowerCase(c));
answer += Character.toLowerCase(c);
}
else if(Character.isLowerCase(c)){
//stack.push(Character.toUpperCase(c));
answer += Character.toUpperCase(c);
}
}
toCharArray() : 문자열에 담겨있는 글자를 각각 char로 배열하여 배열에 담음