SMALL
1. 문제
https://www.acmicpc.net/problem/9086
9086번: 문자열
입력의 첫 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 한 줄에 하나의 문자열이 주어진다. 문자열은 알파벳 A~Z 대문자로 이루어지며 알파벳 사이에 공백은 없으
www.acmicpc.net
2. 주요 개념
- 문자열 (next()와 nextLine()의 차이)
- 1차원 배열
- 문자열 나누기: split
3. 나의 풀이 (*은 잘 안풀린 부분)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int t = s.nextInt();
// testcase 수 받기
String input;
// 문자열 입력값 변수
String[] split_arr;
// split으로 인한 문자를 저장하는 배열
String[] result_arr = new String[t];
// 최종 결과값 저장 배열 (각 문자열의 첫 문자+끝 문자)
for (int i = 0; i < t; i++) {
input = s.next();
// 문자열 입력 받기
// * next: 개행 문자를 입력 문자로 포함 X (반복문 3번 돌면 값 3번 받음)
// * nextLine: 개행 문자를 입력 문자로 포함 O (반복문 3번 돌면 값 2번 받음 > 처음 값은 '\n'이 차지)
split_arr = input.split("");
// * split: 문자열을 구분 문자(delimiter)로 나눔
int s_length = split_arr.length;
result_arr[i] = split_arr[0] + split_arr[s_length-1];
// 한 문자열의 첫 문자 + 끝 문자 저장
// * idx에는 음수 X (배열의 총 길이 - 1 : 마지막 문자)
}
for (int i=0; i<t; i++) {
System.out.println(result_arr[i]);
}
}
}
4. 짚고 넘어가기!
- next() : 개행 문자 ('\n')이 입력 값으로 들어가지 않음 !
ex. for문 3번 반복 시 > 문자열 입력 값을 3번 입력 가능
- nextLine() : 개행 문자 ('\n')이 입력 값으로 들어감 !
ex. for문 3번 반복 시 > 문자열 입력 값을 2번 입력 가능 ('/n'이 한 공간을 차지!)
- split(구분 문자): 문자열을 delimiter(구분 문자)에 따라 나누는 함수
- index는 음수 X
728x90
'Algorithm > Java' 카테고리의 다른 글
[백준] n.2675 - 문자열에 속해있는 각 문자를 원하는 횟수만큼 반복하기 (0) | 2023.05.19 |
---|---|
[백준] n.10809 - 한 단어에 있는 알파벳의 위치 찾기 (0) | 2023.05.18 |
[백준] n.27866 - 문자열 속 i번째 글자 출력 (0) | 2023.05.16 |
[백준] n.1546 - 조작된 평균 구하기 (0) | 2023.05.15 |
[백준] n.10811 - 바구니 번호 뒤집기 (0) | 2023.05.14 |
댓글