https://www.acmicpc.net/problem/9086
방법1
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder();
int n = sc.nextInt();
for(int i = 0; i<n; i++){
String word = sc.next();
int idx = word.length()-1;
sb.append(word.charAt(0));
sb.append(word.charAt(idx)+ "\n");
}
System.out.println(sb);
}
}
잘못된 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
String word = sc.next();
int idx = word.length()-1;
System.out.println(word.charAt(0) + word.charAt(idx));
}
}
입출력값
word
219
word.charAt(0) + word.charAt(idx)를 연산하면 숫자가 출력되는 이유?
char 2개를 더한 아스키코드값이 나오므로 각각 출력해준다.
방법2
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 n = Integer.parseInt(br.readLine());
for(int i=0; i<n; i++){
String word = br.readLine();
int idx = word.length()-1;
System.out.println(String.valueOf(word.charAt(0)) + String.valueOf(word.charAt(idx)));
}
}
}
String.valueOf()와 toString()의 차이점.
'알고리즘 > [백준] JAVA' 카테고리의 다른 글
[백준] 10810 공 넣기 (0) | 2023.05.02 |
---|---|
[백준] 11718 그대로 출력하기 (0) | 2023.05.02 |
[백준] 27866 문자와 문자열 (0) | 2023.05.02 |
[백준] 10811 바구니 뒤집기 (0) | 2023.05.02 |
[백준] 3052 나머지 (0) | 2023.05.02 |