[Softeer] 전광판 (python)

j-ij-i·2022년 12월 16일
1

알고리즘 문제풀이

목록 보기
9/10

문제 링크

link 📃 

문제 풀이

  1. 0부터 9까지 숫자에 불이 들어오는 전광판 배열로 만들어 놓는다.
  2. 비교 문자열 두개를 한자리씩 비교하면서 두 숫자의 전광판 배열이 다르면 +1 해준다.

다른 풀이

  • 나는 숫자가 주어지지 않을때는 '-'로 표현하고 하나하나 한쪽이 -일때, 양쪽이 -일때를 체크해주었는데 그냥 '-'일때는 [0,0,0,0,0,0,0]으로 표현하면 더 코드가 심플하게 작성이 가능했다.

해결 코드

Python


arr = [[1,1,1,0,1,1,1],[0,0,1,0,0,1,0],[1,0,1,1,1,0,1],[1,0,1,1,0,1,1],[0,1,1,1,0,1,0],[1,1,0,1,0,1,1],[1,1,0,1,1,1,1],[1,1,1,0,0,1,0],[1,1,1,1,1,1,1],[1,1,1,1,0,1,1]]

n = int(input())

for _ in range(n):
    init, change = input().split()    

    while len(init)<5:
        init = '-'+init
    while len(change)<5:
        change = '-'+change
    result = 0
    for i in range(5):
        if init[i] == '-' and change[i] == '-':
            continue
        elif init[i] == '-':
            for a in arr[int(change[i])]:
                if a == 1:
                    result += 1
        elif change[i] == '-':
            for a in arr[int(init[i])]:
                if a == 1:
                    result += 1
        else:
            for a in range(7):
                if not arr[int(init[i])][a] == arr[int(change[i])][a]:
                    result += 1
    print(result)
profile
안녕하세요, 프론트엔드를 좋아하는 개발자 jiji입니다.

0개의 댓글