[백준] 9086번 문자열 - 자바
문제
해설
방법1) 내가 한 방식으로 charAt() 메서드를 String.valueOf() 를 활용하여 첫글자와 마지막글자만 따로 추출하여 출력한다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i = 0; i<n; i++){
String str = sc.next();
String first = String.valueOf(str.charAt(0));
String end = String.valueOf(str.charAt(str.length()-1));
System.out.println(first + end);
}
sc.close();
}
}
방법2) 해설 참고 방식으로 문자열을 substring을 통해서 첫글자 부분과 마지막글자 부분을 각각 추출하여 합쳐 출력한다.
* 문자열이 1자리수일 때도 고려해야 한다. else부분만 쓰면 StringIndexOutOfBoundsException 이 발생한다. ⚠️
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
String[] strings = new String[n];
for(int i = 0; i<n; i++){ //사용할 문자열을 미리 string 배열에 저장
strings[i] = sc.next();
}
sc.close();
for(int i=0; i<strings.length; i++){
if(strings[i].length() < 1){
System.out.println(strings[i] + strings[i]);
}else {
System.out.print(strings[i].substring(0, 1));
System.out.println(strings[i].substring(strings[i].length() - 1, strings[i].length()));
}
}
}
}
* 주의사항) 두 방식 모두 Scanner의 nextLine()이 아니라 next()를 사용하여 출력해야 한다.
'백준 문제풀이 > Java' 카테고리의 다른 글
[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 (0) | 2024.03.20 |
---|---|
[백준] 11718번 그대로 출력하기 (0) | 2024.03.20 |
[백준] 2743번 단어 길이 재기 (0) | 2024.03.19 |
[백준] 27866번 문자와 문자열 (0) | 2024.03.19 |
[백준] 10811번 바구니 뒤집기⚠️ (0) | 2024.03.19 |