본문 바로가기
Java

[백준] 코딩테스트 문제 9086 : 문자열

by 리슈다 2023. 7. 11.

https://www.acmicpc.net/problem/9086

 

9086번: 문자열

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

www.acmicpc.net

 

문제

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

입력

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

출력

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

 


문자열

import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        String[] str = new String[T];
        String[] str2 = new String[T];
        String[] str3 = new String[T];
        
        for(int i = 0; i < T; i++){
            str[i] = sc.next();
        }
        
        for(int i = 0; i < T; i++){
            str2[i] = str[i].substring(0, 1);
            str3[i] = str[i].substring(str[i].length() - 1);
        }
        
        for(int i = 0; i < T; i++){
            System.out.println(str2[i] + str3[i]);
        }
    }
}

 총 입력 받을 문자열 갯수 T를 입력 받고, str, str2, str3 배열은 각각 맨 처음 입력받은 문자열, 해당 문자열의 가장 첫 문자, 해당 문자열의 가장 끝 문자를 저장할 수 있도록 선언했다. 이후 str[i] = sc.next();로 문자열을 T번 입력받고, str2[i] = str[i].substring(0, 1);을 통해 가장 처음 문자를 str2[i]에 넣고, str3[i] = str[i].substring(str[i].length() -1);을 통해 가장 마지막 문자를 str3[i]에 넣어주었다.( 가장 마지막 문자를 알기 위해서는 문자열의 길이를 알아야 해서 length()를 통해 문자열의 길이를 구하고 길이에서 1을 빼준 값을 substring에 넣어 문자열의 가장 마지막 문자를 알아냈다.)

이후 str2[i]와 str3[i]를 출력했다.