본문 바로가기
알고리즘['파이썬','JavaScript']/구름

구름톤 챌린지 2주 day6 학습 일기

by kk님 2023. 8. 21.

i+j+k의 값이 가장 큰 것을 출력하는 것이 목표

하지만, 부분 문자열을 모두 모으기까지 해당 부분 문자열이, 전체의 정렬된 부분 문자열에서 몇번째인지 알기 어렵다. 따라서 완전탐색을 해야하는 문제. N의 크기가 100이 최대이기 때문에 n^2이더라도 충분하다.

 

1. 문자열을 3개의 부분으로 나누어야 한다.

2. 나눈 문자열을

  (a) 저장하기

       [자료구조] set

       목적: 모든 부분 문자열을 하나의 자료구조에 저장하고 정렬해야 하기 때문. set으로 중복 제거

  (b) 저장하기 -> 저장하지 않고 다시한번 순회도 가능

       [자료구조] 배열

       목적: i,j,k에 대한 점수 계산(부분 문자열을 다 모으고, 정렬한 뒤에 사용하기 위함)

3. 정렬

4. 점수 계산