본문 바로가기
IT/알고리즘(Algorithm)

[JAVA]백준 9086번 문제 풀이

by 공부하는개미 2022. 12. 9.

# 문제 출제 사이트

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.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() 함수만 사용한 것
반응형