[SWEA|파이썬] 1216. [S/W 문제해결 기본] 3일차 - 회문2 (D3)

2023. 5. 11. 23:58·Problem Solving/SWEA
반응형
문제

https://tinyurl.com/2qtn6fuh

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

 

🐍파이썬
for test_case in range(1, 11):
    int(input())
    arr = []
    max_len = 0
    for _ in range(100):
        arr.append(list(input()))
    for i in range(100):
        b = ''	#세로문자열 초기화
        #가로 문자열 확인
        for j in range(100):
            for k in range(100-j+1):
                #회문 길이(k)만큼의 문자열과 그 역순 문자열을 비교
                if arr[i][j:j+k] == arr[i][j:j+k][::-1]:	
                    max_len = max(max_len, k)	#max_len 갱신
            b += arr[j][i]	#세로문자열에 문자추가
        #세로 문자열 확인
        for m in range(100):
            for n in range(100-m+1):
                if b[m:m+n] == b[m:m+n][::-1]:
                    max_len = max(max_len, n)
    print("#{} {}".format(test_case, max_len))
더보기

테스트케이스 5번 fail이 떠서 시간을 많이 잡아먹었다.

알고 보니 문자열 범위를 계속 for k in range(100-j)으로 지정해서 회문길이를 99개까지밖에 확인을 안 해서 생긴 오류...

👉 for k in range(100-j+1) 으로 바꾸었더니 pass 뜸

범위 확인 잘 하자...

 

 

다른 풀이 방법

def get_solution2(arr, m):	#회문 확인 함수
    for word in arr:  # 1 ~ 100
        for s in range(100 - m + 1):
            for k in range(m//2):
                if word[s+k] != word[s + m -1 -k]:
                    break
            else:
                return m
    return 0
 
 
T = 10
for _ in range(1, T+1):
    t = int(input())
    a = [input() for _ in range(100)]
    b = [''.join(x) for x in zip(*a)]	#행/렬 위치 변경
 
    #가로 회문 확인
    maxLength = 1
    for m in range(2, 101):
        if m > maxLength + 2: break
        if maxLength < get_solution2(a, m):
            maxLength = m
 
    #가로 회문 확인
    m = maxLength + 1
    for m in range(maxLength+1, 101):
        if m > maxLength + 2: break
        if maxLength < get_solution2(b, m):
            maxLength = m
 
    print('#%d %s' % (t, maxLength))

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > SWEA' 카테고리의 다른 글

[SWEA|파이썬] 1493. 수의 새로운 연산 (D3)  (0) 2023.05.14
[SWEA|파이썬] 1860. 진기의 최고급 붕어빵 (D3)  (0) 2023.05.13
[SWEA|파이썬] 2814. 최장 경로 (D3)  (2) 2023.05.12
[SWEA|파이썬] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 (D3)  (0) 2023.05.10
[SWEA|파이썬] 1220. [S/W 문제해결 기본] 5일차 - Magnetic (D3)  (0) 2023.05.10
[SWEA|파이썬] 2817. 부분 수열의 합 (D3)  (0) 2023.05.09
'Problem Solving/SWEA' 카테고리의 다른 글
  • [SWEA|파이썬] 1860. 진기의 최고급 붕어빵 (D3)
  • [SWEA|파이썬] 2814. 최장 경로 (D3)
  • [SWEA|파이썬] 1225. [S/W 문제해결 기본] 7일차 - 암호생성기 (D3)
  • [SWEA|파이썬] 1220. [S/W 문제해결 기본] 5일차 - Magnetic (D3)
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
    반응형
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기 (505)
      • 프로그래밍 (41)
        • Programming (1)
        • C | C++ (6)
        • Java (28)
        • Python (5)
      • 웹 프로그래밍 (108)
        • HTML | CSS (5)
        • JavaScript | TypeScript (41)
        • React (25)
        • Vue.js (0)
        • Next.js (18)
        • Spring & Spring Boot (13)
        • JSP & Servlet (1)
        • DB (4)
      • 웹 프로젝트 (77)
        • 웹 프로젝트 (22)
        • 🥨스낵몰 (3)
        • 👨‍👨‍👧‍👧소셜 가계부 (26)
        • 🌜꿈 일기장 (11)
        • 🔮포트폴리오 사이트 (11)
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램 (0)
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼 (0)
        • 😺Just Meow It: 조언 사이트 (2)
        • 📕Workly: 교대근무 다이어리 (1)
      • 앱 프로그래밍 (26)
        • Flutter (24)
        • Kotlin (2)
      • Problem Solving (166)
        • 백준 (52)
        • 프로그래머스 (79)
        • SWEA (29)
      • Computer Science (40)
        • 알고리즘 (14)
        • 컴퓨터 네트워크 (18)
        • 이산수학 (8)
      • Developer (47)
        • 후기 (4)
        • 자료정리 (4)
        • 취업 | 취준 (9)
        • SSAFY (1)
        • 웹개발 교육 프로그램 (9)
        • TIL (20)
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    구현
    뉴렉처
    클론 프로젝트
    bfs
    AWS
    알고리즘
    공식문서
    React
    백준
    포트폴리오
    mysql
    d3
    리액트
    자바
    컴퓨터네트워크
    ZeroCho
    프로젝트
    Jiraynor Programming
    웹사이트
    프로그래머스
    강의내용정리
    Til
    타입스크립트
    파이썬
    플러터
    SWEA
    자바스크립트
    Next.js
    spring boot
    블로그 제작
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[SWEA|파이썬] 1216. [S/W 문제해결 기본] 3일차 - 회문2 (D3)
상단으로

티스토리툴바