© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 4458 - 첫 글자를 대문자로

2023-12-19
BOJ
브론즈 III
java
원본 문제 보기
구현
문자열

문제

BOJ 4458 - 첫 글자를 대문자로

N개의 문자열이 주어질 때, 각 문자열의 첫 글자를 대문자로 바꿔 출력하라.

입력

첫째 줄에 N, 이후 N개의 줄에 문자열이 주어진다.

출력

각 문자열의 첫 글자를 대문자로 변환하여 출력한다.

예제

입력출력
1 hello worldHello world

풀이

각 문자열의 첫 글자가 소문자이면 대문자로 변환하고, 나머지는 그대로 이어 붙인다.

  1. N을 입력받고 N개의 문자열을 순회한다
  2. 첫 글자가 소문자(a~z)이면 ASCII 변환으로 대문자로 바꾼다
  3. 나머지 문자열은 substring(1)로 그대로 연결한다
  4. 첫 글자가 이미 대문자면 문자열을 그대로 출력한다

핵심 아이디어: ASCII 코드에서 소문자와 대문자의 차이(32)를 이용한 변환이다.

코드

package day699;
 
import java.io.*;
 
public class Day682BOJ4458대문자 {
  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringBuilder sb = new StringBuilder();
    int n = Integer.parseInt(br.readLine());
    while (n-- > 0) {
      String input = br.readLine();
      char c = input.charAt(0);
      if ('a' <= c && c <= 'z')
        sb.append((char) (c - 'a' + 'A')).append(input.substring(1)).append('\n');
      else
        sb.append(input).append('\n');
    }
    System.out.print(sb);
  }
}

복잡도

  • 시간: O(N)
  • 공간: O(N)