습관을 애정한다

Code Signal: Intro=49/60

by 습관중독
def lineEncoding(s):
    A = []
    j = 0
    for i in range(len(s)):
        tot = 0
        print("while 전",i,j,s[i],s[j])
        #if j == len(s):
         #   continue
        while s[i] == s[j]:
            if s[i] == s[j]:
                tot += 1
            #print("while안",i,j,s[i],s[j],tot)            
            j += 1
            #print("return 직전",i,j,s[i],s[j],tot)
        #print("append 직전",i,j,s[i],s[j],tot)
        print(tot)
        if tot != 0:
            A.append(str(tot)+s[i])
        print(A,i,j)
    return A
s = "aabbbc"
lineEncoding(s)
# "aabbbc" = "2a3bc"    

5시간 정도 풀다가 버그를 잡아내지 못하고 포기했다.
몇시간, 며칠씩 걸려서 버그잡는 건 1회독 전체적으로 한 다음에 할 생각이다.
너무 한문제 풀어내는데 집착하면 너무 스트레스를 받아버리고,
결국 완벽주의 때문에 전체적으로 포기하는 경험을 여러번 했기 때문에 조심하기 위해서다.
요즘엔 전반적으로 1회독하는 것이 전체적 조망에 좋고,
그후에 약한 부분 위주로 파는 것이 더 효과적 공부라고 생각한다.

#best code
from itertools import groupby
def lineEncoding(s):
    x = ''
    for k,g in groupby(s):
        y = len((list(g)))
        if y==1:
            x += k
        else:
            x += str(y) + k
    return x

 

'코드 파이트(Code Signal)' 카테고리의 다른 글

Code Signal: Intro=51/60  (0) 2020.02.23
Code Signal: Intro=50/60  (0) 2020.02.23
Code Signal: Intro=48/60  (0) 2020.02.23
Code Signal: Intro=47/60  (0) 2020.02.23
Code Signal: Intro=46/60  (0) 2020.02.23

블로그의 정보

습관을 애정한다

습관중독

활동하기