내 풀이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
char[] charArr = a.toCharArray();
char[] newArr = new char[charArr.length];
int num = 0;
while(num <charArr.length){
char word = charArr[num];
if(Character.isUpperCase(word)){
newArr[num]=Character.toLowerCase(word);
}else{
newArr[num]=Character.toUpperCase(word);
}
num++;
}
String newStr = new String(newArr);
System.out.println(newStr);
}
}
다른 사람 풀이
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
String answer = "";
//Stack <Character> stack = new Stack <> ();
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);
}
}
System.out.println(answer);
}
}
String 타입에 char 타입이 + 연산자로 추가되는가?
String 타입에 char 타입을 + 연산자로 추가하는 것이 가능하기 때문입니다. 자바에서 String과 char를 + 연산으로 결합할 때, 내부적으로 char가 String으로 변환되어 새로운 문자열을 생성합니다. 이 과정은 자동형 변환 덕분에 자연스럽게 처리됩니다.