미소를뿌리는감자의 코딩
[백준 2024/01/26] 1259번 팰린드롬수 본문
728x90
https://www.acmicpc.net/problem/1259
정말... 백준 하루에 한 문제라도 풀기를 하면서,,
오늘 정말 힘들었다.
SQL 을 이미 40문제 정도 푼 상태에서, 다시 코딩 문제를 푸려고 하니까
집중도 안되고, 너무 피곤하고
근데 내가 다짐한 것이니까 풀어야겠다 하고 앉았는데 ..
어쨌든 오늘은,,, 시간을 오래 쓰는 문제는 너무 졸려서 못할 것 같고,
쉬운 문제 하나 풀었다 ㅎㅎ
그래서 조금.. 죄책감이 드는데... 그래도 푼게 어디야~!!!
1. 접근 방법
이번 문제는 명료하고 접근 방법도 간단했다.
그래서 조금 새로운 방법이 없을까 하고 찾아보다가 StringBuilder을 알게 되었다.
String reversed = new StringBuilder(original).reverse().toString();
문자열을 더 효율적으로 처리할 수 있도록 설계된 것이 StringBuilder이다.
따라서 StringBuilder에 거꾸로 표현하고자 하는 문자열을 넣어주고, reverseI()를 해준다.
다음으로 .toString을 하는 이유는 StringBuilder 안에 넣어줬으므로, type이 StringBuilder로 바뀌기 때문이다.
따라서, String으로 바꾸기 위해서 .toString() 을 해줘야 한다.
StringBuilder의 다른 주요 메서드들
sb.append(...) | StringBuilder로 선언된 것의 문자열 끝에 데이터 추가 가능하다. |
sb.insert(int offset, ...) | 문자열의 지정된 위치에 데이터를 삽입 |
sb.delete(int start, int end) | 문자열의 시작 위치에서 종료 위치까지 문자들을 삭제 |
sb.deleteCharAt(int index) | 지정된 위치의 문자 하나를 삭제 |
sb.reverse() | 문자열의 순서를 뒤집음 |
2. 코드
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.util.*;
import java.util.stream.Collectors;
public class b1259 {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while(true){
String line = reader.readLine();
if(Objects.equals(line, "0")){
break;
}
else{
System.out.println(pelindrom(line));
}
}
}
public static String pelindrom(String line){
String op = new StringBuilder(line).reverse().toString();
if(op.equals(line)){
return "yes";
}
return "no";
}
}
이제 자야지이...
728x90
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준 2024/01/28] 11650번 좌표 정렬하기 (1) | 2024.01.29 |
---|---|
[백준 2024/01/27] 11286번 절댓값 힙 (0) | 2024.01.27 |
[백준 2024/01/25] 2164번 카드2 (0) | 2024.01.26 |
[백준 2024/01/24] 1920번 수 찾기 (2) | 2024.01.24 |
[백준 2024/01/24] 1018번 체스판 다시 칠하기 (0) | 2024.01.24 |