본문 바로가기
코딩테스트 파이썬/파이썬 프로그래머스 2단계

Softeer 연습문제(2단계) - 전광판

by 세용용용용 2024. 6. 25.

Candidate | Softeer Assessment UI

 

Candidate | Softeer Assessment UI

 

softeer.ai

 

나의 코드

import sys

def _main(num1, num2, max_len):
    answer = 0
    number_dict = {'0': [1,1,1,0,1,1,1],
                   '1': [0,1,0,0,1,0,0], '2':[1,1,0,1,0,1,1], '3':[1,1,0,1,1,0,1], '4':[0,1,1,1,1,0,0],
                   '5': [1,0,1,1,1,0,1], '6':[1,0,1,1,1,1,1], '7':[1,1,1,0,1,0,0], '8':[1,1,1,1,1,1,1],
                   '9': [1,1,1,1,1,0,1], '*':[0,0,0,0,0,0,0]}
    for idx in range(max_len):
        for j in range(7):
            if (number_dict[num1[idx]][j] != number_dict[num2[idx]][j]):
                answer += 1
    return answer
    
ct = int(sys.stdin.readline())
for _ in range(ct):
    num1, num2 = sys.stdin.readline().rstrip().split()
    max_len = max(len(num1), len(num2))
    num1, num2 = '*' * (max_len - len(num1)) + num1, '*' * (max_len - len(num2)) + num2
    print(_main(num1, num2, max_len))

 

시간 복잡도

for idx in range(max_len) : max_len 길이 만큼 순회하며 비교 ( 선형 시간 )
해당 알고리즘 시간 복잡도 : 선형 시간 복잡도 ( O(n) )

'코딩테스트 파이썬 > 파이썬 프로그래머스 2단계' 카테고리의 다른 글

문자열 압축  (2) 2024.07.02
Softeer 연습문제(2단계) - 바이러스  (0) 2024.06.25
디펜스 게임  (0) 2024.04.18
리코쳇 로봇  (0) 2024.02.19
하노이의 탑  (0) 2024.02.15