오늘의 학습 키워드: 그래프, 해시
문제: 대충 만든 자판
https://school.programmers.co.kr/learn/courses/30/lessons/160586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
각 버튼이 최소로 눌리는 수를 해시값에 넣어두고 그 값보다 최소가 되는 경우에 값을 변경해주면서 각 버튼의 최소로 눌리는 횟수를 계산합니다.
def solution(keymap, targets):
answer = []
dict1={}
for i in keymap:
for j in range(len(i)):
if i[j] not in dict1:
dict1[i[j]] = j+1
elif dict1[i[j]] > j+1:
dict1[i[j]] = j+1
for i in targets:
tmp = 0
for j in i:
if j not in dict1:
tmp = -1
break
else:
tmp+=dict1[j]
answer.append(tmp)
return answer
'코딩테스트 > 알고리즘' 카테고리의 다른 글
99클럽 코테 스터디 23일차 TIL (마법의 엘리베이터 - 프로그래머스) (0) | 2024.08.14 |
---|---|
99클럽 코테 스터디 22일차 TIL (멀리 뛰기 - 프로그래머스) (0) | 2024.08.12 |
99클럽 코테 스터디 21일차 TIL (피보나치 수 - 프로그래머스) (0) | 2024.08.11 |
99클럽 코테 스터디 20일차 TIL (큰 수 만들기 - 프로그래머스) (0) | 2024.08.11 |
99클럽 코테 스터디 19일차 TIL (구명보트 - 프로그래머스) (0) | 2024.08.09 |