csct3434
[level 2] [3차] 압축 - 17684 본문
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.ArrayList;
import java.util.HashMap;
class Solution {
public int[] solution(String msg) {
ArrayList<Integer> answer = new ArrayList<>();
HashMap<String, Integer> dict = new HashMap<>();
for (char c = 'A'; c <= 'Z'; c++) {
dict.put(String.valueOf(c), c - 'A' + 1);
}
while (!msg.isEmpty()) {
int len = 1;
while (++len <= msg.length()) {
if (!dict.containsKey(msg.substring(0, len))) {
break;
}
}
len--;
answer.add(dict.get(msg.substring(0, len)));
if (len + 1 <= msg.length()) {
dict.put(msg.substring(0, len + 1), dict.size() + 1);
}
msg = msg.substring(len);
}
return answer.stream().mapToInt(Integer::intValue).toArray();
}
}
'프로그래머스' 카테고리의 다른 글
[level 2] [3차] n진수 게임 - 17687 (0) | 2024.02.28 |
---|---|
[level 2] [3차] 파일명 정렬 - 17686 (0) | 2024.02.28 |
[level 2] [1차] 캐시 - 17680 (0) | 2024.02.28 |
[level 2] [1차] 프렌즈4블록 - 17679 (0) | 2024.02.28 |
[level 2] [1차] 뉴스 클러스터링 - 17677 (0) | 2024.02.28 |