본문 바로가기

JAVA/연습노트

[백준-자바] 9086번 : 문자열

문제

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

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

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

 

 

 

풀이

import java.util.Scanner;

 

public class J9086 {

 

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int t = sc.nextInt(); //입력 횟수 t로 지정

 

String name[] = new String[t]; //t의 길이만큼 문자열 배열 생성

 

for(int i=0;i<t;i++) { //문자열 배열 name의 0번 인덱스부터 t-1 인덱스까지

String str = sc.next(); //문자 입력받음

//name의 i번 배열에 입력받은 str의 0번 인덱스값 + str의 마지막 인덱스값을 저장

name[i] = str.substring(0,1)+str.substring(str.length()-1,str.length());

}

sc.close(); //입력중지

for(int i=0;i<t;i++) {

System.out.println(name[i]); //name 배열을 출력

}

}

 

}

 

 

틀린 이유

substring() 메서드 사용법을 잘 알아야 한다

마지막 인자값의 인덱스는 입력에 포함되지 않는다