TIL (Today I Learned)
99클럽 코테 스터디 24일차 TIL + 오늘의 학습 키워드
남 희
2024. 8. 14. 22:17
☑️ 문제: 대충 만든 자판
https://school.programmers.co.kr/learn/courses/30/lessons/160586
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
☑️ 설계 및 코드
1. keymap을 사용해서 A~Z를 만들 수 있는 최소 클릭 수 구하기. (int[] minClick[alphabet - 'A'] 채우기)
2. targets와 minClick을 사용해서 각 targets[i]별 최소 클릭 수 구하기 (int[] answer 채우기)
class Solution {
public int[] solution(String[] keymap, String[] targets) {
// 1. A~Z를 만들 수 있는 최소 클릭 수 구하기
int[] minClick = new int[26];
for (String key: keymap) {
for (int j = 0; j < key.length(); j++) {
int idx = key.charAt(j) - 'A';
if (minClick[idx] == 0) {
minClick[idx] = j + 1;
} else {
minClick[idx] = Math.min(minClick[idx], j + 1);
}
}
}
// 2. 각 target을 작성하기 위한 최소 클릭 수 구하기(answer[])
int[] answer = new int[targets.length];
for (int i = 0; i < targets.length; i++) {
String target = targets[i];
for (int j = 0; j < target.length(); j++) {
int idx = target.charAt(j) - 'A';
if (minClick[idx] == 0) {
answer[i] = -1;
break;
} else {
answer[i] += minClick[idx];
}
}
}
return answer;
}
}
그 외 오늘 배운 것
- Github Action 수동으로 실행시킬 때, Enter 누르지 마라...! 누른 만큼 Action 실행된다🥲
- Squash and merge로 PR을 merge하면, branch merge 커밋 없이 PR 내부에 있는 모든 커밋이 하나의 커밋으로 합쳐져서 PR된다.
- 기존 Play core 라이브러리가 여러 라이브러리로 분리되었다.
(https://developer.android.com/guide/playcore?hl=ko)
Android 14에서는 play core 라이브러리 마이그레이션을 강제하는 듯하다.
필요한 라이브러리를 넣지 않았을 때, github action에서 Android 14관련 호환성 이슈 메시지를 띄웠다.
하지만, 에러 메시지와 다르게 호환성 문제가 아니라 없는 라이브러리를 추가해야 하는 거였다.
github action의 에러 메시지가 문제의 직접적 원인이 아닐 수도 있겠다는 생각이 들었다. - 윈도우 이모지 단축키는 '윈도우 + .', mac 이모지 단축키는 'Control + Command + Space'