Notice
Recent Posts
Recent Comments
Link
04-30 17:25
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- https
- 맥OS
- 우리FISA #
- HTTP
- Java
- 우리에프아이에스
- 로드밸런스
- dbeaver
- 맥
- AWS
- route 53
- Gradle
- 우리FIS아카데미 #
- 클라우드 서비스 개발
- jdk
- 우리FISA
- M2
- 도메인
- 맥북
- springboot
- 우리FIS아카데미
- 글로벌소프트웨어캠퍼스
- 우리에프아이에스 #
- 리눅스
- K-디지털트레이닝
- spring
- sts
- 클라우드 서비스 개발 #
- mysql
Archives
- Today
- Total
<<개발일지>>
[힌트 문제3-1] 팰린드롬 본문
팰린드롬 만들기
문제
동호와 규완이는 212호에서 문자열에 대해 공부하고 있다. 규완이는 팰린드롬을 엄청나게 좋아한다. 팰린드롬이란 앞에서부터 읽으나 뒤에서부터 읽으나 같게 읽히는 문자열을 말한다.
동호는 규완이를 위한 깜짝 선물을 준비했다. 동호는 규완이가 적어놓고 간 문자열 S에 0개 이상의 문자를 문자열 뒤에 추가해서 팰린드롬을 만들려고 한다. 동호는 가능하면 가장 짧은 문자열을 만들려고 한다.
동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 최대 50이다.
출력
첫째 줄에 동호가 만들 수 있는 가장 짧은 팰린드롬의 길이를 출력한다.
예제 입력 1
abab
예제 출력 1
5
예제 입력 2
abacaba
예제 출력 2
7
예제 입력 3
qwerty
예제 출력 3
11
예제 입력 4
abdfhdyrbdbsdfghjkllkjhgfds
예제 출력 4
38
<<풀이>>
package sec01.hint3_1;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class pjh_팰린드롬 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
String s = in.readLine();
int ans = s.length();
for (int i = 0; i < s.length(); i++) {
if (isPalind(s.substring(i))) {
break;
}
ans++;
}
System.out.println(ans);
}
private static boolean isPalind(String s) {
int start = 0;
int last = s.length()-1;
while (start <= last) {
if (s.charAt(start) != s.charAt(last)) {
return false;
}
start++;
last--;
}
return true;
}
}
-> 와우 아직 생각하기가 좀 힘들다. 계속 반복적으로 하면서 익숙해지는 방법 말곤 없군용 ㅎㅎ.
'코딩테스트' 카테고리의 다른 글
[힌트 문제3-3] 수들의 합2 (0) | 2023.10.06 |
---|---|
[힌트 문제3-2] 2차원 배열의 합 (1) | 2023.10.05 |
[힌트 문제2-4] 문자열 (0) | 2023.09.27 |
[힌트 문제2-3] 구현 (0) | 2023.09.27 |
[힌트 문제2-2] 배열 (0) | 2023.09.27 |