티스토리 뷰
728x90
문자열을 뒤집는 4가지 방법
①거꾸로 읽어오는 법 ②swop ③reverse 함수 ④슬라이싱 연산 [::-1]
코드
❕ 주의 ❕ 가로를 검사할 때는 슬라이싱이 가능하지만 세로 검사시에는 슬라이싱이 불가능하다
# 뒤에서 부터 읽어오면서 뒤집은 리스트 만드는 함수
def my_reverse(line):
r_line = []
for i in range(len(line)-1, -1, -1):
r_line.append(line[i])
return r_line
# 회문 찾는 함수
def my_find():
for i in range(N):
# 가로검사
for j in range(N-M+1):
tmp = words[i][j:j+M]
# 회문 검사
if tmp == my_reverse(tmp):
return tmp
# 세로 검사
for j in range(N-M+1):
tmp = [] # 부분 문자열을 위한 빈 리스트
for k in range(M):
tmp.append(words[j+k][i])
if tmp == my_reverse(tmp):
return tmp
return []
T = int(input())
for tc in range(1, T+1):
# N: 2차원 리스트의 크기, M: 회문 길이
N, M = map(int, input().split())
words = [list(input()) for _ in range(N)]
ans = my_find()
print("#{} {}".format(tc, ''.join(ans)))
'algorithm > swea' 카테고리의 다른 글
[swea] 1208. Flatten / python 파이썬 (0) | 2021.04.09 |
---|---|
[swea] 4408. 자기 방으로 돌아가기 / python 파이썬 (0) | 2021.04.09 |
[swea] 2805. 농작물 수확하기 / python 파이썬 (0) | 2021.04.08 |
[swea] 1225. 암호생성기 / python 파이썬 (0) | 2021.04.08 |
[swea] 1220. Magnetic / python 파이썬 (0) | 2021.04.08 |
댓글
글 보관함
TAG
- dp
- 보석쇼핑
- 20057 마법사 상어와 토네이도
- 기지국설치
- dfs
- 20056 마법사 상어와 파이어볼
- 프로그래머스
- 영어끝말잇기
- swea
- merge 에러
- 21609 상어 중학교
- BFS
- 백준
- git 미러링
- 2018 카카오 공채
- 삼성코테
- 파이썬
- merge에러
- 17406 배열돌리기4
- react
- 알고리즘
- 브루트포스
- 삼성기출
- 2579 계단오르기
- Python
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글