티스토리 뷰
1) 생각
앞 뒤로 똑같은 문자를 팰린드롬이라고 한다. 이때 치트키 문자인 "*"는 어떤게 들어가도 상관이 없다.
문자가 주어질 때, 그 문자가 팰린드롬이 될 수 있는지 판단해라.
첫 번째 생각
앞 뒤가 똑같아야 하므로 문자열의 앞에서부터 그리고 뒤에서부터를 비교한다.
만약 해당 Index 짝이 다르다면 그 짝중에 "*"가 있는지 판단해본다.
2) 방안
1) 반복문을 통해 변수 j를 늘리면서 앞쪽에서 진행하는 Index를 얻고, 해당 문자열 길이 - j - 1을 통해서 뒤에서 진행하는 Index를 얻어 비교한다.
2) 다르다면 우선 flag를 false로 바꾼다.
3) 해당 Index의 짝이 다르면 둘 중 *가 있는지 파악하여 있다면 flag를 다시 true로 바꿔준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import java.io.IOException; import java.util.Scanner; public class Solution { static int[][] arr; static int n; public static void main(String[] args) throws IOException{ Scanner sc = new Scanner(System.in); int tc = sc.nextInt(); for(int i=1;i<=tc;i++) { String t = sc.next(); boolean flag = true; for(int j=0;j<t.length();j++) { if(t.charAt(j)!=t.charAt(t.length()-j-1)) { flag = false; if(t.charAt(j)=='*'||t.charAt(t.length()-j-1)=='*') flag = true; } } if(flag) System.out.println("#"+i+" "+"Exist"); else System.out.println("#"+i+" "+"Not exist"); } } } | cs |
'알고리즘 > SW Expert' 카테고리의 다른 글
[SW Expert] 2819. 격자판의 숫자 이어 붙이기 (0) | 2018.08.27 |
---|---|
[SW Expert] 4522. 세상의 모든 팰린드롬 (0) | 2018.08.23 |
[SW Expert] 4615. 재미있는 오셀로 게임 (0) | 2018.08.23 |
[SW Expert] 4676. 늘어지는 소리 만들기 (0) | 2018.08.23 |
[SW Expert] 4751. 다솔이의 다이아몬드 장식 (0) | 2018.08.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday