체감 Level : ★ ★ ★ Review: 정렬 생각을 못해서 헤맸다 🥹🥹🥹 |
💡문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return
https://school.programmers.co.kr/learn/courses/30/lessons/120886
추가하면 푸는데 도움되는 테스트케이스 !
[참고]
1) 두 String 을 문자 배열로 변환
2) 두개 다 오름차순으로 정렬
String(a) << 문자배열을 String 에 넣으면 문자열로 자동 변환됨
3) 문자열 비교
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
char[] a = before.toCharArray();
char[] b = after.toCharArray();
Arrays.sort(a);
Arrays.sort(b);
return new String(a).equals(new String(b)) ? 1 :0;
}
}
[실패] 초반에 문제가 헷갈려서 고민하다가.. 해쉬맵을 사용해볼까했는데 실패했다.
import java.util.HashMap;
class Solution {
public int solution(String before, String after) {
int answer = 1;
String str = "";
String str1 = "";
int cnt = 0;
//배열에 넣어서 카운팅
//해쉬맵 키,값 ++
HashMap<String,Integer> m = new HashMap<>();
//int cnt[] = new int[before.length()];
//해쉬맵에 넣기
for(int i = 0 ; i < before.length(); i++){
str = before.substring(i,i+1);
m.put(str,0);
}
for(int i = 0 ; i < after.length(); i++){
str1 = after.substring(i,i+1);
if(m.put(str1,1) != null){
m.put(str1,m.get(str1)++);
}
}
for(int i = 0 ; i < before.length(); i++){
str = before.substring(i,i+1);
if (m.get(str)){
}
}
return 1;
}
}