A로 B 만들기

문제

 


나의 생각

 

초반에 접근 했던 방식은 반대로 돌렸을 때의 기준으로 생각해서 reverse를 하였는데, 그것이 맞지 않아 질문을 확인.

문제 내용을 보니 순서를 바꾸었을 때 인데, 단순히 뒤집는거 뿐만 아니라 서로 같은 문자열을 가지고 있는지를 물어보는 문제인것. 

String을 정렬하여 서로가 같으면 1 아니면 0이라고 생각하면서 접근. 

 


나의 답안

 

public static int solution(String before, String after) {

    String collect1 = Arrays.stream(before.split("")).sorted().collect(Collectors.joining());
    String collect2 = Arrays.stream(after.split("")).sorted().collect(Collectors.joining());

    return collect1.equals(collect2) ? 1 : 2;
}

다른 답안

 

char 배열로 비교하는 방식으로 하였다. toCharArray() 함수를 기억하자. 

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;
    }

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

2차원으로 만들기  (0) 2023.03.01
팩토리얼  (3) 2023.02.28
모스부호 (1)  (0) 2023.02.28
중복된 문자 제거  (0) 2023.02.28
합성수 찾기  (0) 2023.02.28