Jae-Kyung Cho LLM Developers who was a Robotics engineer

Baekjoon-16113-시그널

from tabnanny import check


N = int(input())
sig = input().strip()

div = len(sig)//5
tab = [[0] * 5 for _ in range(div)]
for i,s in enumerate(sig):
    if s == '#':
        tab[i%div][i//div] = 1
    else:
        tab[i%div][i//div] = 0

def check_num(idx):
    if sum(tab[idx]) == 0: # Nothing
        return idx+1, None
    if sum(tab[idx]) == 1: # 7
        return idx+3, 7
    if sum(tab[idx]) == 3: # 3,4 
        if tab[idx][1] == 0:
            return idx+3, 3
        else:
            return idx+3, 4
    if sum(tab[idx]) == 4: # 2,5,9
        if tab[idx][1] == 0:
            return idx+3, 2
        elif tab[idx+2][1] == 0:
            return idx+3, 5
        else:
            return idx+3, 9
    if sum(tab[idx]) == 5: # 0,1,6,8
        if idx+1 >= len(sig)//5 or tab[idx+1][0] == 0:
            return idx+1, 1
        elif tab[idx+1][2] == 0:
            return idx+3, 0
        elif tab[idx+2][1] == 0:
            return idx+3, 6
        else:
            return idx+3, 8

idx = 0
result = []
while idx < len(sig)//5:
    idx, num = check_num(idx)
    if num is not None:
        result.append(num)

print(*result, sep='')
Comments