DIStringMatch
Published at 2021-10-15
class Solution:
def diStringMatch(self, s: str) -> List[int]:
answer = []
minNum = 0
maxNum = len(s)
for d in s:
if d == 'I':
answer.append(minNum)
minNum += 1
else:
answer.append(maxNum)
maxNum -= 1
answer.append(minNum)
return answer
# I 를 만났을땐 앞에가 작아야함. -> 남은 숫자 중 가장 작은애 붙이자 / D일땐 반대
# I 를 만나면 젤 작은 숫자를 붙이고 젤작은 숫자를 1증가
# D 를 만나면 젤 큰 숫자 붙이고 젤큰숫자 1감소
# 맨 마지막엔 젤 작= 젤 큰 임. 이걸 최종적으로 붙여줌