제약조건

하나의 입력에서 1개 이상 1000개 이하의 테스트 케이스를 해결해야 한다.

A와 B는 한 자리 이상 다섯 자리 이하의 자연수이다.

A와 B는 숫자 0으로 시작하지 않는다.

A와 B는 서로 다르다.

출력형식

각각의 테스트 케이스마다 순서대로, 스위치를 눌러야 하는 최소 횟수를 한 줄에 하나씩 출력한다.

 

입력예제1

2
1 2
9881 10724

출력예제1
5
11

아래 그림에서 붉은색 실선에 해당하는 전구들의 스위치를 누르면 된다.

첫 번째 테스트 케이스:

 

 

 

두 번째 테스트 케이스:

 

입력예제2

2
111 11
11 11111

출력예제2
2
6
Code

참고 깃헙출처 : https://github.com/maru-jang/softeer_coding_test/blob/main/level2/%EC%A0%84%EA%B4%91%ED%8C%90.py

import sys

number = {'_': "0000000", '0':"1110111", '1':"0010010", '2':"1011101",
'3':"1011011",'4':"0111010",'5':"1101011",'6':"1101111",
'7':"1110010",'8':"1111111",'9':"1111011"}

N = int(input())

for _ in range(N):
    cnt = 0
    a, b = map(str, input().split())
    a = '_'*(5-len(a))+a   #____1
    b = '_'*(5-len(b))+b   #____2
    
    for i in range(5):
        if a[i] != b[i]:
            for j in range(7):
                if number[a[i]][j] !=number[b[i]][j]:
                    cnt += 1
    print(cnt)

 

배운점

1) 7-segment에서 7은 1010010 이 아니라 1110010 이다.

2) 디셔너리와 리스트를 혼용해서 쓸 수 있어야한다. 그러려면 이중리스트를 이해하고 있어야하는데, 이 부분이 부족했다.

3) number[a[i]] 로  딕셔너리의 key값을 지정하고, number[a[i]][[j]로 value값을 비교하는 구조

 

 

'알고리즘 > 소프티어' 카테고리의 다른 글

Level2 - 8단 변속기.py  (0) 2023.01.05
Level1 - A+B.py  (0) 2023.01.05
Level1 - 근무시간.py  (0) 2023.01.05
Level1 - 주행거리 비교하기.py  (0) 2023.01.05

+ Recent posts