圧縮ココア2020文字列
1086 ワード
質問する
https://programmers.co.kr/learn/courses/30/lessons/60057
に答える
def solution(s):
def check(x):
result = ""
temp = []
count = 1
for i in range(0,len(s),x):
temp.append(s[i:i+x])
for i in range(0,len(temp)-1):
if temp[i] == temp[i+1]:
count += 1
else :
result += (str(count) + temp[i]) if count > 1 else temp[i]
count = 1
result += (str(count) + temp[i]) if count > 1 else temp[i+1]
return len(result)
arr = []
arr.append(len(s))
for j in range(1,len(s)):
arr.append(check(j))
return min(arr)
注意点
5つ目のテストケースでは、常に実行中に現れるため、その部分を見つけるのは難しい.
1文字を入力した場合、arrにappendがないため、min関数は空の配列を呼び出し、実行時エラーを引き起こします.
従ってarr.append(len(s))
デフォルトは文字列の長さです
終わります.
Reference
この問題について(圧縮ココア2020文字列), 我々は、より多くの情報をここで見つけました https://velog.io/@kjo1130/카카오-2020-문자열-압축テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol