반응형
백준 문자열 문제를 풀다가 막히는 부분이 있어서 substring에 대한 간단한 정리입니다.
ex1)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "abcdef";
String ss = s.substring(0,3);
System.out.println(ss);
}
}
출력 : abc
코딩에서의 인덱스 개념과 같습니다. abcdef 중 0 1 2에 해당하는 abc를 출력을 합니다.
ex2)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "abcdef";
String ss = s.substring(0,3).toUpperCase();
System.out.println(ss);
}
}
출력 : ABC
뒤에 .toUpperCase()를 넣음으로써 0,1,2번 인덱스 문자가 대문자로 나옵니다.
(소문자도 마찬가지)
ex3)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "abcdef";
String ss = s.substring(0,3).toUpperCase() + s.substring(3,6);
System.out.println(ss);
}
}
출력 : ABCdef
이와 같이 일반 문자열처럼 + 연산자를 통해 이어서 쓸 수도 있습니다. 0,1,2번 인덱스는 대문자로 나머지는 인덱스는 그냥 쓰게 됩니다.
문제
4458번: 첫 글자를 대문자로 (acmicpc.net)
4458번: 첫 글자를 대문자로
첫째 줄에 줄의 수 N이 주어진다. 다음 N개의 줄에는 문장이 주어진다. 각 문장에 들어있는 글자의 수는 30을 넘지 않는다. 모든 줄의 첫 번째 글자는 알파벳이다.
www.acmicpc.net
<풀이 과정>
0번째 인덱스는 대문자로 + 나머지는 그냥 쓰기
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
String sentence = br.readLine();
String result = sentence.substring(0,1).toUpperCase() + sentence.substring(1);
System.out.println(result);
}
}
}
반응형
'백준 > 알아두면 유용한 것' 카테고리의 다른 글
자바 Stringtokenizer 사용법 (0) | 2022.08.22 |
---|---|
소수를 구하는 법 (0) | 2022.08.19 |
최대공약수 최소공배수 (0) | 2022.08.19 |