https://www.acmicpc.net/problem/2596
문제 코드
문제 풀이
먼저 X = {} 에 A ~ H 인 키 값 와 그 밸류값을 정의. 키 값과 밸류값은 따로 key = [] , val = [] 로 리스트화 시킴.
첫 for 문에서 6자리 숫자가 반복될 때 마다 c += 1 을 해줌으로써 현재 몇 번째 반복인지 알 수 있게 함.
1) 입력받은 6자리 숫자가 val = [] 의 값 중 하나와 완전히 일치한 경우, 그에 맞는 키 값을 ans = [] 에 추가.
다시 for 문 반복.
2) ~ 완전히 일치하지 않은 경우, 한 자리만 틀렸는지 확인.
2-1) A ~ H 의 밸류값과 비교하여 한 자리만 틀린 경우가 한 개라도 존재 할 때,
입력된 숫자모음과 비교해서 한자리만 틀렸던 숫자모음의 키 값을 ans 에 추가하고 첫 번째 for 문으로 돌아감.
2-2) 한 자리만 틀린 경우가 없을 때, 전체 for 문을 break 함.
3-1) ans 의 길이가 T와 일치하는 경우 = 모든 ans 값을 받은 경우, ans의 값을 join 을 통해 띄어쓰기 없이 출력함.
3-2) ans 길이가 T와 일치하지 않는 경우 = ans 값 추가 없이 break 된 경우, 모르는 문자가 나온 처음 위치 = c 를 출력함.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] #4949 균형잡힌 세상 (0) | 2023.01.26 |
---|---|
[백준/python] 2309 일곱 난쟁이 (1) | 2023.01.26 |
[백준/python] 17502번 : 클레어와 팰린드롬 (0) | 2023.01.24 |
[백준 / python] #11652 카드 (0) | 2023.01.24 |
[python/파이썬] 백준 baekjoon 2828 사과 담기 게임 (0) | 2023.01.23 |