문제
https://school.programmers.co.kr/learn/courses/30/lessons/17684
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import java.util.*;
class Solution {
public int[] solution(String msg) {
Map<String, Integer> dict = new HashMap<>();
List<Integer> result = new ArrayList<>();
for(int i=0;i<26;i++){
dict.put(String.valueOf((char)('A'+i)), i+1);
}
for(int i = 0 ; i < msg.length() ; i++){
int index = 0;
String str = "";
for(int j = i + 1 ; j <= msg.length() ; j++){
str = msg.substring(i,j);
if(dict.containsKey(str)){
index = dict.get(str);
if(j == msg.length()){
i = j;
}
continue;
}else{
i = j-2;
break;
}
}
dict.put(str,dict.size()+1);
result.add(index);
}
int[] answer = new int [result.size()];
for(int i=0;i<result.size();i++){
answer[i] = result.get(i);
}
return answer;
}
}
문제
https://school.programmers.co.kr/learn/courses/30/lessons/17684
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
import java.util.*; class Solution { public int[] solution(String msg) { Map<String, Integer> dict = new HashMap<>(); List<Integer> result = new ArrayList<>(); for(int i=0;i<26;i++){ dict.put(String.valueOf((char)('A'+i)), i+1); } for(int i = 0 ; i < msg.length() ; i++){ int index = 0; String str = ""; for(int j = i + 1 ; j <= msg.length() ; j++){ str = msg.substring(i,j); if(dict.containsKey(str)){ index = dict.get(str); if(j == msg.length()){ i = j; } continue; }else{ i = j-2; break; } } dict.put(str,dict.size()+1); result.add(index); } int[] answer = new int [result.size()]; for(int i=0;i<result.size();i++){ answer[i] = result.get(i); } return answer; } }