-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[D3] Title: [S/W 문제해결 기본] 3일차 - 회문1, Time: 113 ms, Memory: 17,148 KB …
…-BaekjoonHub
- Loading branch information
Showing
2 changed files
with
112 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
# [D3] [S/W 문제해결 기본] 3일차 - 회문1 - 1215 | ||
|
||
[문제 링크](https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14QpAaAAwCFAYi) | ||
|
||
### 성능 요약 | ||
|
||
메모리: 17,148 KB, 시간: 113 ms, 코드길이: 3,445 Bytes | ||
|
||
### 제출 일자 | ||
|
||
2024-11-17 01:23 | ||
|
||
|
||
|
||
> 출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do |
97 changes: 97 additions & 0 deletions
97
SWEA/D3/1215. [S/W 문제해결 기본] 3일차 - 회문1/[S/W 문제해결 기본] 3일차 - 회문1.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,97 @@ | ||
///////////////////////////////////////////////////////////////////////////////////////////// | ||
// 기본 제공코드는 임의 수정해도 관계 없습니다. 단, 입출력 포맷 주의 | ||
// 아래 표준 입출력 예제 필요시 참고하세요. | ||
// 표준 입력 예제 | ||
// int a; | ||
// double b; | ||
// char g; | ||
// String var; | ||
// long AB; | ||
// a = sc.nextInt(); // int 변수 1개 입력받는 예제 | ||
// b = sc.nextDouble(); // double 변수 1개 입력받는 예제 | ||
// g = sc.nextByte(); // char 변수 1개 입력받는 예제 | ||
// var = sc.next(); // 문자열 1개 입력받는 예제 | ||
// AB = sc.nextLong(); // long 변수 1개 입력받는 예제 | ||
///////////////////////////////////////////////////////////////////////////////////////////// | ||
// 표준 출력 예제 | ||
// int a = 0; | ||
// double b = 1.0; | ||
// char g = 'b'; | ||
// String var = "ABCDEFG"; | ||
// long AB = 12345678901234567L; | ||
//System.out.println(a); // int 변수 1개 출력하는 예제 | ||
//System.out.println(b); // double 변수 1개 출력하는 예제 | ||
//System.out.println(g); // char 변수 1개 출력하는 예제 | ||
//System.out.println(var); // 문자열 1개 출력하는 예제 | ||
//System.out.println(AB); // long 변수 1개 출력하는 예제 | ||
///////////////////////////////////////////////////////////////////////////////////////////// | ||
import java.util.*; | ||
import java.io.*; | ||
|
||
/* | ||
사용하는 클래스명이 Solution 이어야 하므로, 가급적 Solution.java 를 사용할 것을 권장합니다. | ||
이러한 상황에서도 동일하게 java Solution 명령으로 프로그램을 수행해볼 수 있습니다. | ||
*/ | ||
class Solution | ||
{ | ||
public static void main(String args[]) throws Exception | ||
{ | ||
StringBuilder sb = new StringBuilder(); | ||
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); | ||
for(int test_case = 1; test_case <= 10; test_case++) | ||
{ | ||
int L = Integer.parseInt(br.readLine()); | ||
char [][] arr = new char[9][9]; | ||
|
||
int answer =0; | ||
for(int i =1; i<=8; i++) { | ||
String input = br.readLine(); | ||
for(int j =1; j<=8; j++) { | ||
arr[i][j] = input.charAt(j-1); | ||
} | ||
} | ||
for(int i = 1; i <= 8; i++) { | ||
for(int j = 1; j <= 8-L+1; j++) { | ||
String check = ""; | ||
for(int k = 0; k < L; k++) { | ||
check += arr[i][j+k]; | ||
} | ||
if(func(check)) { | ||
answer++; | ||
} | ||
} | ||
} | ||
|
||
// 세로 검사 | ||
for(int j = 1; j <= 8; j++) { | ||
for(int i = 1; i <= 8-L+1; i++) { | ||
String check = ""; | ||
for(int k = 0; k < L; k++) { | ||
check += arr[i+k][j]; | ||
} | ||
if(func(check)) { | ||
answer++; | ||
} | ||
} | ||
} | ||
sb.append("#").append(test_case).append(" ").append(answer).append("\n"); | ||
} | ||
System.out.println(sb); | ||
} | ||
|
||
static boolean func(String input) { | ||
|
||
int start = 0; | ||
int end = input.length() -1; | ||
|
||
while(start<=end) { | ||
if(input.charAt(start) != input.charAt(end)) { | ||
return false; | ||
} | ||
start++; | ||
end--; | ||
} | ||
return true; | ||
|
||
} | ||
} |