![[SWEA] 1215. 회문1](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVod5F%2FbtrcHdIj4qP%2FxXggGKX5N8ZqKz9JdQoG61%2Fimg.png)
[SWEA] 1215. 회문1Algorithm/Algorithm 풀이2021. 8. 21. 15:23
Table of Contents
- SW Expert Academy [S/W 문제해결 기본] 시리즈
- 1215. 회문1
- [문제]
- "기러기" 또는 "level" 과 같이 거꾸로 읽어도 앞에서부터 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.주어진 8x8 평면 글자판에서 가로, 세로를 모두 보아 제시된 길이를 가진 회문의 총 개수를 구하는 문제이다.
- [입력]각 테스트 케이스의 첫 번째 줄에는 찾아야 하는 회문의 길이가 주어지며, 다음 줄에 테스트 케이스가 주어진다.총 10개의 테스트 케이스가 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 찾은 회문의 개수를 출력한다.
- [Code]
- ⭐️ Solution
- 출처
반응형
SW Expert Academy [S/W 문제해결 기본] 시리즈
1215. 회문1
[문제]
"기러기" 또는 "level" 과 같이 거꾸로 읽어도 앞에서부터 읽은 것과 같은 문장이나 낱말을 회문(回文, palindrome)이라 한다.주어진 8x8 평면 글자판에서 가로, 세로를 모두 보아 제시된 길이를 가진 회문의 총 개수를 구하는 문제이다.

[입력]각 테스트 케이스의 첫 번째 줄에는 찾아야 하는 회문의 길이가 주어지며, 다음 줄에 테스트 케이스가 주어진다.총 10개의 테스트 케이스가 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 찾은 회문의 개수를 출력한다.
[Code]
def solve():
length = int(input()) #4
arr = [input() for _ in range(8)]
cnt = 0
#행 회문 비교
for r in range(8): #0
for c in range(8-length+1): #0~5
row_list = []
for i in range(length): #4
row_list.append(arr[r][c+i]) #0행 [0][0] [0][1] [0][2] [0][3] , [0][1] [0][2] [0][3] [0][4] ...
if row_list == row_list[::-1]: #리스트 요소와 거꾸로한 리스트 요소 비교
cnt += 1
#열 회문 비교
for r in range(8-length+1):
for c in range(8):
col_list = []
for i in range(length):
col_list.append(arr[r+i][c])
if col_list == col_list[::-1]:
cnt += 1
return cnt
for t in range(1,11): #10개 테스트
print(f'#{t} {solve()}')
⭐️ Solution
1. 입력으로 받는 회문길이에 따른 요소 조회 (세번째 for문)
2. 리스트 요소와 거꾸로한 리스트 요소 비교
출처
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
728x90
반응형
'Algorithm > Algorithm 풀이' 카테고리의 다른 글
[Algorithm 풀이] 완전탐색: ColorPaper (0) | 2022.09.24 |
---|---|
[프로그래머스] 문자열 압축 (0) | 2022.04.29 |
[SWEA] 1213. String (0) | 2021.08.21 |
[SWEA] 1210. Ladder1 (0) | 2021.08.21 |
[SWEA] 1209. Sum (0) | 2021.08.21 |
@부지런깨꾹이 :: Gaegul's devlog
Action speaks louder than words. 하루 하루의 기록을 습관화 합니다 📖
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!