반응형
https://leetcode.com/problems/maximum-score-after-splitting-a-string
전수조사로 해결한 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
점수 score를 선언 후 0으로 초기화합니다.
📔 풀이과정
1. 주어진 substring과 비교할 문자 mode를 입력받아 특정문자의 개수를 반환하는 getScore를 구현합니다.
2. s에 대해 1부터 len(s)-1까지 for loop를 수행하며 left, right로 부분 문자열을 만들고 각각 getScore한 결과의 최댓값을 score에 저장합니다.
📔 정답 출력 | 반환
score를 반환합니다.
📕 Code
📔 Python3
class Solution:
def maxScore(self, s: str) -> int:
score = 0
def getScore(substring, mode):
return sum(1 for char in substring if char == mode)
for i in range(1, len(s)):
left = s[:i]
right = s[i:]
score = max(score, getScore(left,'0') + getScore(right,'1'))
return score
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.