<Algorithm> 118. 회문1(SWExpert)
by BFine반응형
1. 회문1 (SWExpert)
문제해결능력 문제
간단한 D3문제 였는데 상당히 오래걸렸다.. 오늘 좀 생각이 많아서 간단한 부분도 빨리 잡아내지 못했던 것 같다.
오늘의 결정이 앞으로 개발자로 살아가는데 있어서 좋은 출발점이 되었으면 좋겠다
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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Solution { public static void main(String args[]) throws IOException { StringBuilder sb = new StringBuilder(""); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); for(int t = 0; t < 10; t ++){ /****************************** * 양끝 비교를 통해 회문인지 판단한다. *******************************/ int N = Integer.parseInt(br.readLine()); String arr[][]= new String[16][8]; for(int i = 0; i < 8 ; i++){ String str = br.readLine(); for(int j = 0; j < 8 ; j++){ arr[i][j] = str.charAt(j)+""; } } for(int i = 0; i < 8; i++){ for(int j = 0; j < 8 ; j++){ arr[i+8][j] = arr[j][i]; } } int cnt = 0; for(int i = 0; i < 16; i++){ for(int j = 0; j < 8 ; j++){ if(j+(N-1) > 7) break; boolean ck = false; for(int k = 0; k < (j+N)/2; k++){ if((j+N-1)-k > 7 || j+k >7 ) break; // System.out.println("i : "+i+" j : "+j+" k : "+k+" 뒤 : "+(j+N-1-k)+" N : "+N); if(!arr[i][j+k].equals(arr[i][(j+N-1)-k])){ ck = true; break;} } if(!ck) cnt++; } } sb.append("#"+(t+1)+" "+(cnt)+"\n"); } System.out.println(sb.toString()); } } | cs |
참고 & 출처
반응형
'공부(2018~2019) - 스킨변경전 > Algorithm' 카테고리의 다른 글
<Algorithm> 120. 뉴스클러스터링(KAKAO) (0) | 2019.02.20 |
---|---|
<Algorithm> 119. 암호생성기(SWExpert) (0) | 2019.02.19 |
<Algorithm> 117. 중위순회(SWExpert) (0) | 2019.02.17 |
<Algorithm> 116. 보호필름(SWExpert) (0) | 2019.02.16 |
<Algorithm> 115. 14890번 경사로 (0) | 2019.02.16 |
블로그의 정보
57개월 BackEnd
BFine