대소문자 바꿔서 출력하기(String 타입에 char 타입이 + 연산자로 추가되는가?)

Psj·2024년 12월 9일
0

코딩테스트

목록 보기
3/12

내 풀이

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으로 변환되어 새로운 문자열을 생성합니다. 이 과정은 자동형 변환 덕분에 자연스럽게 처리됩니다.

profile
Software Developer

0개의 댓글