[프로그래머스][3차][압축]
2020. 4. 9. 16:27ㆍ프로그래머스/카카오
import java.util.*;
class Solution {
public int[] solution(String msg) {
int[] answer = {};
int putnum = 27;
boolean flag =true;
Map<String,Integer> dic = new HashMap<>();
List<Integer> addAnswer = new ArrayList<>();
for(int i=0; i<26; i++){
dic.put(Character.toString((char)('A'+i)),i+1);
}
for(int i=0; i<msg.length(); i++){
for(int j=i+1; j<=msg.length(); j++){
String temp = msg.substring(i,j);
if(!dic.containsKey(temp)){
dic.put(temp,putnum);
putnum++;
addAnswer.add(dic.get(msg.substring(i,j-1)));
i = j-2;
break;
}else{
if(j==msg.length()){
addAnswer.add(dic.get(msg.substring(i)));
flag= false;
}
}
}
if(flag==false){
break;
}
}
answer = new int[addAnswer.size()];
for(int i=0; i<answer.length; i++){
answer[i] = addAnswer.get(i);
}
return answer;
}
}
Map을 이용하여 사전에 등록할 새로운 단어는 등록하고, 새 단어가 되기 전까지를 출력하는것을 반복
'프로그래머스 > 카카오' 카테고리의 다른 글
[프로그래머스] 튜플 (0) | 2020.04.12 |
---|---|
[프로그래머스][3차]파일명 정렬 (0) | 2020.04.09 |
[프로그래머스] n진수 게임 (0) | 2020.04.08 |
[프로그래머스] 카카오프렌즈 컬러링북 (0) | 2020.04.04 |
[프로그래머스] 오픈채팅방 (0) | 2020.04.02 |