-- 예전 기록/[완료] 구름톤 챌린지

[ 구름톤 챌린지 ] 6일차 미션 - 문자열 나누기

rejo 2023. 8. 21. 13:37

구름톤 챌린지 2주차가 시작되었습니다. 챌린지를 통해 문제 풀이 실력을 향상시킬 수 있으며, 블로그에 학습 일기도 작성하면 추가 보상도 주어지니 관심 있으시면 참여해보시는 것을 추천드립니다.

https://level.goorm.io/l/challenge/goormthon-challenge

 

구름LEVEL

난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다.

level.goorm.io

 

문제

입력 / 출력

풀이 과정

문자열을 3개의 부분 문자열로 나눈 현황을 저장한 뒤, 이 부분 문자열들을 정렬한 후 점수 계산을 진행한다.

문자열의 길이는 최대 100이기 때문에, 이중 반복문으로 문자열을 나누어도 충분하게 해결할 수 있다.

import sys
input = sys.stdin.readline

n = int(input().rstrip())
string = input().rstrip()

arr = []

for i in range(1, n - 1):
	for j in range(i + 1, n):
		a, b, c = string[:i], string[i:j], string[j:]
		if a not in arr: arr.append(a)
		if b not in arr: arr.append(b)
		if c not in arr: arr.append(c)
		
arr.sort()

max_result = 0
for i in range(1, n - 1):
	for j in range(i + 1, n):
		a, b, c = string[:i], string[i:j], string[j:]
		max_result = max(max_result, arr.index(a) + arr.index(b) + arr.index(c) + 3)

print(max_result)