본문 바로가기
백준

[백준] 알고리즘 분류(문자열,JAVA)9086번, 문자열

by 열정적인 이찬형 2022. 10. 1.

문제 링크

 

9086번: 문자열

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

www.acmicpc.net


주의사항

  • JAVA를 사용하여 프로그램을 사용하였습니다.
  • 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다.
public class Main{ 	
	public static void main(String[] args){
    }
}

문제 설명


접근 방법

이 문제에 핵심

 

1. N개의 문자열을 입력받습니다.

2. 입력받은 문자열의 첫 글자와 마지막글자를 연속하여 결과로 출력합니다.

3. 문자열은 A - Z대문자로 이루어지며 공백은 존재하지 않습니다.

 

알고리즘 진행 순서.

 

1. 입력된 정보를 저장합니다.

 

2. CharAt()을 이용하여 문자열의 첫 글자와 마지막 글자를 연속하여 구합니다.

 

3. N개의 문자열의 결과를 출력합니다.

 

첫 글자와 마지막 글자 연속

 

String.charAt()을 이용하여 간단하게 첫 글자와 마지막 글자를 얻었습니다.

 

첫 글자의 인덱스 : 0

마지막 글자의 인덱스 : String.length() - 1

 

String.charAt(0) + "" + String.charAt(String.length()-1)

 

 

예제입력 1.

 

1. 입력된 정보를 저장합니다.

 

N : 3

 

ACDKJFOWIEGHE
O
AB

 

2. CharAt()을 이용하여 문자열의 첫 글자와 마지막 글자를 연속하여 구합니다.

 

ACDKJFOWIEGHE

charAt(0) = 'A'

charAt(13(length) - 1) = 'E'

 

AE

 

O

charAt(0) = 'O'

charAt(1(length) - 1) = 'O'

 

OO

 

AB

charAt(0) = 'A'

charAt(2(length) - 1) = 'B'

 

AB

 

3. N개의 문자열의 결과를 출력합니다.

 

AE

OO

AB 

 

결과로 출력합니다.

 

  • BufferedReader를 사용하여 입력되는 정보를 저장합니다.
  • N개의 문자열을 charAt()을 이용하여 첫 글자와 마지막 글자를 합칩니다.
  • 합친 결과를 BufferedWriter 저장하였습니다.
  • BufferedWriter에 저장된 결과값을 출력하였습니다.

 

import java.io.*;


public class Main {
    public static void main(String[] args) throws IOException{
        //입력값 처리하는 BufferedReader
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //결과값 출력하는 BufferedWriter
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int N = Integer.parseInt(br.readLine());
        //N개의 문자열 첫 글자와 마지막 글자를 연속한 값 BufferedWriter 저장
        for(int i=0;i<N;i++){
            String str = br.readLine();		//문자열 저장
            //charAt()을 이용하여 첫 글자와 마지막 글자 합치기
            bw.write(str.charAt(0) + "" + str.charAt(str.length()-1) + "\n");
        }
        bw.flush();		//결과 출력
        bw.close();
        br.close();
    }
}

댓글