# 문제 출제 사이트
https://www.acmicpc.net/problem/9086
# 문제
문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오.
# 입력
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다.
각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다.
문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으며 문자열의 길이는 1000보다 작다.
# 출력
각 테스트 케이스에 대해서 주어진 문자열의 첫 글자와 마지막 글자를 연속하여 출력한다.
# 제출한 소스코드
더보기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for (int i = 0; i < t; i++) {
String tempStr = br.readLine();
System.out.print(tempStr.charAt(0));
System.out.printf(tempStr.charAt(tempStr.length()) + "\n");
}
}
}
- 런타임 에러 (StringIndexOutOfBounds) 발생
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for (int i = 0; i < t; i++) {
String tempStr = br.readLine();
System.out.print(tempStr.charAt(0));
System.out.printf(tempStr.substring(tempStr.length() - 1) + "\n");
}
}
}
- charAt()과 substring() 같이 사용한 것
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for (int i = 0; i < t; i++) {
String tempStr = br.readLine();
System.out.print(tempStr.charAt(0));
System.out.printf(tempStr.charAt(tempStr.length() - 1) + "\n");
}
}
}
- charAt() 함수만 사용한 것
반응형