728x90
<코딩 테스트>
문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
<나의 풀이 과정>
처음에 문제를 풀었을때는 단순히 문자의 배열만 바꿔서 비교하였지만,
사실상, before에 주어지는 문자열과 after에 주어지는 문자열 하나하나가 모두 동일하다면
같은 문자를 만들 수 있다는 것을 생각하였고,
각각의 문자열을 배열에 저장 후, sort 해준 뒤 String 배열이 아닌 String 문자로 비교 한 값을 return 하도록 코딩하였습니다.
<나의 풀이 코드>
import java.util.Arrays;
class Solution {
public int solution(String before, String after) {
int answer = 0;
String[] beforArr = before.split("");
String[] afterArr = after.split("");
Arrays.sort(beforArr);
Arrays.sort(afterArr);
String strinA = "";
String strinB = "";
for (int i = 0; i < afterArr.length; i++) {
strinA += afterArr[i];
strinB += beforArr[i];
}
if (strinA.equals(strinB))
return answer = 1;
else
return answer = 0;
}
}
<다른사람 풀이 1>
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;
}
}
<다른사람 풀이 2>
class Solution {
public int solution(String before, String after) {
for(int i = 0; i < before.length(); i++){
after = after.replaceFirst(before.substring(i,i+1),"");
}
return after.length() == 0? 1: 0;
}
}
728x90
'주니어 기초 코딩공부 > JAVA_programmers_코딩테스트' 카테고리의 다른 글
k의 개수_programmers_lev00 (0) | 2022.12.11 |
---|---|
2차원으로 만들기_programmers_lev002 (0) | 2022.12.11 |
모스 부호 (1)_programmers_lev00 (1) | 2022.12.09 |
중복된 문자 제거_programmers_lev00 (0) | 2022.12.09 |
합성수 찾기_programmers_lev00 (0) | 2022.12.09 |