inblog logo
|
jay0628
    programmers Java

    [Java] 4. 대소문자 바꿔서 출력하기

    김주희's avatar
    김주희
    May 07, 2025
    [Java] 4. 대소문자 바꿔서 출력하기
    Contents
    1. 문제 설명, 제한 사항, 입출력 예시2. 아이디어3. 풀이 코드

    1. 문제 설명, 제한 사항, 입출력 예시

    notion image
     

    2. 아이디어

    💡
    1. 입력받은 문자열 → 한 문자씩 쪼개서
    1. 아스키 코드 값 65-90(대문자) 97-122(소문자) 기준으로 바꾸기 대소문자 확인 후
    1. 대문자 → 소문자, 소문자 → 대문자로 변환
     

    1. next() vs nextLine()

    1. next(): 공백(스페이스, 개행, 탭) 이전까지 한 단어를 읽는다.
      1. String first = scanner.next(); // 첫 번째 단어 읽기 String second = scanner.next(); // 두 번째 단어 읽기 System.out.println("첫 번째 입력: " + first); System.out.println("두 번째 입력: " + second);
        Input) Hello World Output) 첫 번째 입력: Hello 두 번째 입력: World next(): Hello next(): World
    1. nextLine(): 공백을 포함한 문장을 입력 받을 수 있고 개행(enter) 전까지 한 줄 전체를 읽는다.
    1. next() 직후 nextLine() 사용 시 반드시 버퍼 비우기 필요
      1. next()는 공백 전까지만 읽고 남아 있는 줄바꿈 문자(\n)는 버퍼에 남아있는 상태이다.
      2. 따라서 next(0 직후에 nextLine()를 쓰면 버퍼에 남아있는 줄바꿈 문자를 읽게 되고 빈 문자열을 반환하게 된다.
      3. ⇒ nextLine()을 한 번 더 호출하여 버퍼 비워준다.
     

    2. 대소문자 메서드

    1. Character.isUpperCase(char ch)
      1. ch(문자)가 대문자인지 확인
      2. 반환 타입 : boolean
      3. 예시 : Character.isUpperCase('A') → true
    1. Character.isLowerCase(char ch)
      1. ch(문자)가 소문자인지 확인
      2. 반환 타입 : boolean
      3. 예시 : Character.isLowerCase('b') → true
    1. Character.toUpperCase(char ch)
      1. 문자를 대문자로 변환
      2. 반환 타입 : char
      3. 예시 : Character.toUpperCase('c') → 'C’
    1. Character.toLowerCase(char ch)
      1. 문자를 소문자로 변환
      2. 반환 타입 : char
      3. 예시 : Character.toLowerCase('D') → 'd’
     

    3. 문자열을 한 글자씩 쪼개는 방법

    1. charAt(int index)
      1. String 문자열에서 특정 인덱스 위치의 문자를 char 타입으로 변환
      2. 특정 인덱스의 글자만 가져오고 싶을 때 사용
    1. toCharArray()
      1. String 문자열을 char형 배열로 반환
      2. 모든 글자를 순회하고 싶을 때 사용
      3. = charAt(i) + for문
     

    4. 문자열 누적

    1. String answer = “” : 빈 문자열을 선언해둔다.
    1. answer += c : 문자열에 += 연산자를 통해 문자를 하나씩 덧붙여 새로운 문자열을 만든다.
     

    3. 풀이 코드

    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(Character.isUpperCase(c)){ answer += Character.toLowerCase(c); }else{ answer += Character.toUpperCase(c); } } System.out.println(answer); } }
     
    Share article

    jay0628

    RSS·Powered by Inblog