반응형
🗓️ 문제 설명
- 동일한 키를 여러번 누르면 입력되는 휴대폰 자판과 같은 원리로 만든 자판이 존재합니다.
- 특정 키를 눌렀을 때, 입력되는 문자도 무작위로 배열되어 있습니다.
- 같은 문자가 여러번 할당된 경우도 있고, 키 하나에 같은 문자가 여러번 할당된 경우도 있으며, 할당되지 않은 경우도 있습니다.
(몇몇 문자열은 작성할 수 없을 수 있습니다.) - 각 키에 할당된 문자들이 담긴 keymap과 입력하려는 문자열들이 담긴 targets가 주어질 때, targets를 만들 수 있는 최소한의 횟수를 반환하세요.
- 제한 사항
- 1 ≤ keymap, targets의 길이 ≤ 100
- 1 ≤ keymap, targets의 원소 길이 ≤ 100
- keymap의 원소 길이는 서로 다를 수 있으며, 원소는 대문자로만 이루어져 있음
- targets의 원소는 대문자로만 이루어져 있음
- 입출력 예시
keymap | targets | result |
['ABACD', 'BCEFD'] | ['ABCD', 'AABB'] | [9, 4] |
['AA'] | ['B'] | [-1] |
['AGZ', 'BSSS'] | ['ASA', 'BGZ'] | [4, 6] |
💻 코드
최종 코드
1)
- 수정 사항
>> 6번줄 조건문에서 idx → idx + 1 로 수정
>> 13번줄 아래의 불필요한 조건문 통합 및 삭제
2)
- 수정사항
>> 2차시도에서 8번줄 아래의 조건문을 통합 및 삭제 - 1번 풀이보다 실행시간이 오래 걸림
코드 풀이 1)
코드 풀이 2)
⚙️ 시행착오
1차 시도
더보기


- 테스트 14 ~ 23번 긴 실행시간 및 테스트 실패
2차 시도
더보기


- 수정사항
>> min_num 의 리스트 부분에서 if문 추가
>> min_num이 비어있을 경우, break로 반복문 탈출 - 테스트 14 ~ 23에서 시간단축, 테스트 실패
3차 시도
더보기


- 수정 사항
>> 리스트에서 모든 값을 한번씩 비교하는 방식에서 딕셔너리를 사용하여 철자에 클릭 횟수를 key-value 형태로 추가하여 철자를 찾는 방식으로 변경
>> targets값을 딕셔너리에서 확인 - 테스트 케이스 14 ~ 23번 시간 대폭 감소 및 테스트 실패
반응형
'코딩문제풀이 > 파이썬' 카테고리의 다른 글
[프로그래머스] 숫자 문자열과 영단어 (파이썬) (0) | 2023.03.08 |
---|---|
[프로그래머스] 문자열 나누기 (파이썬) (0) | 2023.03.07 |
[프로그래머스] 숫자의 표현 (파이썬) (0) | 2023.03.05 |
[프로그래머스] 최솟값 만들기 (파이썬) (0) | 2023.03.04 |
[프로그래머스] 비밀지도 (파이썬) (0) | 2023.03.03 |