[python] 소프티어 - 전광판

Charbs·2023년 5월 16일

algorithm

목록 보기
1/37

소프티어 level 2 문제
https://softeer.ai/practice/info.do?idx=1&eid=624

아래 키워드는 잘 떠올렸다

  • 7세그먼트를 딕셔너리로 설정한다
  • 입력 받은 수가 5자리가 아닐 때 전광판이 모두 off가 되도록 처리
  • 전구를 on/off 하는 카운트의 반복문, lamp 인덱스 찾아가는 부분도 나름 복잡한데 잘 작성했다.

하지만 이 곳에서 막혔었다

  • 어떻게 1, 2을 입력받으면 '__1', '__2' 로 만들어 줄 것인가

그래서 다음과 같은 방법을 서치 했다

  • a.rjust(5, " ")
  • a = (5-len(a)) * " " + a

내 풀이

#https://softeer.ai/practice/info.do?idx=1&eid=624
# 입력예제
# 2
# 1 2
# 9881 10724
# 출력 예제
# 5
# 11

import sys

t = int(input())

lamp = { 
' ':[0,0,0,0,0,0,0], 
'0': [1,1,1,1,1,1,0], 
'1': [0,1,1,0,0,0,0], 
'2': [1,1,0,1,1,0,1], 
'3':[1,1,1,1,0,0,1], 
'4':[0,1,1,0,0,1,1], 
'5':[1,0,1,1,0,1,1],
'6': [1,0,1,1,1,1,1], 
'7':[1,1,1,0,0,1,0], 
'8':[1,1,1,1,1,1,1], 
'9':[1,1,1,1,0,1,1]}

# 테스트 케이스 t번 반복
for _ in range(t):
    a, b = input().split()
    count = 0
    
    # 불꺼진 수 처리
    a = a.rjust(5, " ")
    # b = b.rjust(5, " ")
    # a = (5-len(a))*" " + a
    b = (5-len(b))*" " + b
    
    for i in range(5):
        for x in range(7):
            if lamp[a[i]][x] != lamp[b[i]][x]:
                count += 1
    
    print(count)
profile
자두과자

0개의 댓글