string = input()
n = len(string)
new_arr = []
for i in range(0,n): # 3 부분으로 나누기
for j in range(i+1,n-1): # 나머지를 2부분으로 나누기
strip1 = string[:i+1]
strip2 = string[i+1:j+1]
strip3 = string[j+1:]
new_arr.append(strip1[::-1]+strip2[::-1]+strip3[::-1])
# print('here',(i,j),strip1,strip2,strip3) # 전 후 비교하는 코드
# print('endd',(i,j),strip1[::-1],strip2[::-1],strip3[::-1])
new_arr.sort()
print(new_arr[0]) # 가장 앞에 있는 친구 가져오기
실수한 점
i 와 j 간의 슬라이싱을 제대로 구현했어야했는데, 잘못 조정해서, 짧은 테스트 케이스를 제대로 구하지 못하는 문제가 있었다.
'알고리즘 문제풀이' 카테고리의 다른 글
백준 1712 손익분기점 Python 사칙연산 브론즈 2 (1) | 2024.03.05 |
---|---|
백준 3273 두수의 합 Python 투포인트 실버3 (1) | 2024.03.05 |
백준 17202.핸드폰 번호 궁합 Python 구현, 문자열 브론즈1 (0) | 2024.03.05 |
백준 4344. 평균은 넘겠지 Python 수학 사칙연산 브론즈1 (0) | 2024.03.05 |
백준 10988팰린드롬인지 확인하기 Python 구현 문자열 브론즈3 (0) | 2024.03.05 |