02. 대소문자 변환

2025. 4. 24. 05:28·알고리즘 문제풀이
반응형

 

 

문제

 

설명

대문자와 소문자가 같이 존재하는 문자열을 입력받아 대문자는 소문자로 소문자는 대문자로 변환하여 출력하는 프로그램을 작성하세요.

입력

첫 줄에 문자열이 입력된다. 문자열의 길이는 100을 넘지 않습니다.

문자열은 영어 알파벳으로만 구성되어 있습니다.

출력

첫 줄에 대문자는 소문자로, 소문자는 대문자로 변환된 문자열을 출력합니다.

예시 입력 1 

StuDY

예시 출력 1

sTUdy

 


풀이

 

import java.util.Scanner;

public class JAVA1 {

    public static Character[] solution(String s){
        Character[] answer = new Character[s.length()];
        int i=0;

        for(char c : s.toCharArray()){
            if(c >= 'A' && c <= 'Z'){
                answer[i++] = Character.toLowerCase(c);
            } else if(c >= 'a' && c <= 'z'){
                answer[i++] = Character.toUpperCase(c);
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String s = sc.next();
        for(Character c : solution(s)){
            System.out.print(c);
        }
    }
}

 

 

처음에는 그냥 생각나는 대로 코딩을 해봤는데 뭔가 더 간결한 다른 방법이 있을 거 같아서

고민하고 더 찾아봤다.

 

import java.util.Scanner;

public class JAVA1 {

    public static String solution(String s){
        String answer = "";
 
        for(char c: s.toCharArray()){
            if(Character.isUpperCase(c))
                answer += (char)(c+32);
            else answer += (char)(c-32);
        }
        return answer;
    }

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String s = sc.next();

        System.out.println(solution(s));

    }
}

 

그래서 이런 방식으로도 코딩을 해봤는데 달라진 점은

  • solution 함수에서 Character대신 String을 사용한 점
  • isUpperCase(c) 함수를 통해 대문자인지 확인하기
  • toUpperCase 등의 함수가 아닌 아스키 코드를 이용해 대문자 소문자 변환하기

정도가 있는 것 같다.

 

답

 

이런식으로 잘 나온다!


알아두어야 할 것들

 

Character.isUpperCase(c)

대문자인지 확인하는 함수이다.

true false로 반환한다

 

 아스키코드

A는 65로 시작하고 Z는 90으로 끝난다.

a는 97로 시작하고 z는 122로 끝난다.

대문자와 소문자는 32가 차이 난다.

반응형

'알고리즘 문제풀이' 카테고리의 다른 글

[SWEA]1926. 간단한 369게임  (0) 2025.04.28
[SWEA]21425. +=  (0) 2025.04.28
04. 단어 뒤집기  (0) 2025.04.25
03. 문장 속 단어  (0) 2025.04.24
01. 문자 찾기  (0) 2025.04.24
'알고리즘 문제풀이' 카테고리의 다른 글
  • [SWEA]21425. +=
  • 04. 단어 뒤집기
  • 03. 문장 속 단어
  • 01. 문자 찾기
fkqlaus
fkqlaus
안녕하세요 Java, Spring boot 공부하는 주니어 개발자입니다
  • fkqlaus
    개발자가 끄적끄적 블로그
    fkqlaus
  • 전체
    오늘
    어제
    • 분류 전체보기 (24)
      • Spring boot (3)
      • 프레임워크 (3)
      • Java (6)
      • DevOps (3)
      • DB (1)
      • CS (1)
      • GIS (1)
      • 알고리즘 문제풀이 (9)
      • 알고리즘 (0)
  • 인기 글

  • 태그

    collection
    spring
    D2
    cs
    SWEA
    데이터베이스
    개발
    프로그래머스
    완전탐색
    DevOps
    서버
    컴퓨터
    iterator
    db
    코딩테스트
    docker
    개발자
    Java
    알고리즘
    list
  • hELLO· Designed By정상우.v4.10.3
fkqlaus
02. 대소문자 변환
상단으로

티스토리툴바