티스토리 뷰
1) 생각
이전 문제인 [SW Expert] 4579. 세상의 모든 팰린드롬 2 와 거의 비슷한 문제이다 답도 1줄만 추가하였다.
팰린드롬을 만들 수 있나를 물어보는 문제이다. 이번엔 치트키로 '?'를 사용하고 있다.
첫 번째 생각
이전 문제랑 거의 똑같지만 한 가지 차이가 있다면 '*'는 모든 문자를 넣을 있으므로 '*'가 있을 때는 강제로 맞춰줄 수 있었다.
이번 문제에서 사용되는 치트키 '?'는 딱 한 글자만 넣을 수 있으므로 다른 점이다.
2) 방안
1) '?'는 한 글자만 넣을 수 있으므로 flag가 false를 가르키고 있다면 반복문을 바로 빠져나와준다.
2) 이전 문제의 치트키 '*'는 문자를 넣을 수 있었기에 "ab*csdfba"와 같이 '?'를 넣었을 경우에는 틀린 문자에서 문장을 넣어주어서 '*' 치트키로 Exist가 나오게된다.
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 | 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) break; } if(flag) System.out.println("#"+i+" "+"Exist"); else System.out.println("#"+i+" "+"Not exist"); } } } | cs |
'알고리즘 > SW Expert' 카테고리의 다른 글
[SW Expert] 3347. 올림픽 종목 투표 (0) | 2018.08.28 |
---|---|
[SW Expert] 2819. 격자판의 숫자 이어 붙이기 (0) | 2018.08.27 |
[SW Expert] 4579. 세상의 모든 팰린드롬 2 (0) | 2018.08.23 |
[SW Expert] 4615. 재미있는 오셀로 게임 (0) | 2018.08.23 |
[SW Expert] 4676. 늘어지는 소리 만들기 (0) | 2018.08.23 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday