이번 문제는 대충 만든 자판 문제이다.
이 대충 만든 휴대폰 자판의 키의 개수가 1개 부터 최대 100개까지 존재하며, 특정 키를 눌렀을 때 입력되는 문자들도 무작위로 배치되어 있다. 또 한 같은 문자가 자판 전체에 여러 번 할당된 경우도 있으며, 키 하나에 같은 문자가 여러 존재할 수도 있다. 심지어 아예 할당되지 않은 문자열도 있다.
만약 목표 문자열을 작성할 수 없을 때는 -1을 저장한다.
특별한 제한 사항은 없다. keymap 의 길디ㅗ 100 정도이고 원소의 길이도 길어야 100 이며, target 도 동일하게 100, 100 이다.
입출력 예에서 알 수 있는점은 keymap으로 해당 targets을 만들 수 없을 때에는 -1을 배열에 넣어 반환해야 한다는 점이다.
만약 keymap의 요소가 2개 이고 그 중 [0]만 만들 수 있다면, [최소값, -1] 이런 식으로 결과를 만들어야 한다.
레벨 1 문제이기에 굉장히 많은 풀이가 가능하다.
내가 선택한 풀이는 먼저 key_map 이라는 dict 를 생성하여, 각 키를 누르는 최소값을 저장해 준다.
이제 targets을 돌면서 각 단어들을 알파벳으로 쪼개서 확인하고, 만약 해당 알파벳 't' 가 key_map 에 존재하지 않을때는 cnt 값을 -1 로 돌리고 과감하게 break로 해당 단어의 탐색을 종료해 주면 된다.
'프로그래머스 퀴즈(Python) > level 1' 카테고리의 다른 글
23.04.17 파이썬 코딩 퀴즈#221 바탕화면 정리 (프로그래머스 스쿨) (0) | 2023.04.17 |
---|---|
23.04.17 파이썬 코딩 퀴즈#220 덧칠하기 (프로그래머스 스쿨) (0) | 2023.04.17 |
23.02.21 파이썬 코딩 퀴즈#167 카드 뭉치(프로그래머스 스쿨) (0) | 2023.02.21 |
23.02.21 파이썬 코딩 퀴즈#166 둘만의 암호(프로그래머스 스쿨) (0) | 2023.02.21 |
22.12.30 파이썬 코딩 퀴즈#68,69 (프로그래머스) (0) | 2022.12.30 |