[java] 백준 9086번: 문자열

hjeu·2023년 7월 11일

백준

목록 보기
5/48

1. 문제


문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.

2. 입력


입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다.

3. 출력


각 테스트 케이스에 대해서 주어진 문자열의 첫 글자와 마지막 글자를 연속하여 출력한다.

4. 나의 풀이


import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int T = sc.nextInt();
        String[] result = new String[T];
        
        for(int i=0; i<T; i++) {
            String S = sc.next();
            result[i] = String.valueOf(S.charAt(0)) + String.valueOf(S.charAt(S.length()-1));
        }
        
        for(int j=0; j<T; j++) {
			System.out.println(result[j]);
		}
    }
}

나는 문제에서 연속으로 출력하라고 해서 배열을 만들어서 그곳에 문자열의 첫번째와 마지막을 구해 넣어놓고 다시 for문을 돌려서 출력하게 하였는데, 사람들을 보니까 그냥 한번에 출력을 해도 됐었다!

charAt()은 char타입이라 String.valueOf()를 사용하여 char타입을 String 타입으로 형변환 하였다. 사람들은 어떻게 풀었나봤는데 substring을 사용하여 문자열을 나눠서 저장하는걸로 푸는 사람들도 있었다. 풀면서도 사람들은 어떤 방식으로 푸는지 궁금할때가 많다. 이렇게도 풀 수 있구나를 알아가는 재미가 있다.

profile
나는야 개발왕이 될거야! (๑ •̀ω•́)۶

0개의 댓글