프로그래머스/Lv. 0(코딩테스트 입문)

[프로그래머스 코딩테스트] A로 B 만들기(Java)

Sigfriede 2023. 4. 2. 01:11

  문제 설명

  문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.

 

  제한사항

  • 0 < before의 길이 == after의 길이 < 1,000
  • before와 after는 모두 소문자로 이루어져 있습니다.

 

  입출력 예

before after result
"olleh" "hello" 1
"allpe" "apple" 0
import java.util.Arrays;
class Solution {
    public int solution(String before, String after) {
        char[] beforeChars = before.toCharArray();
        char[] afterChars = after.toCharArray();
        
        Arrays.sort(beforeChars);
        Arrays.sort(afterChars);
        
        String sortedBefore = new String(beforeChars);
        String sortedAfter = new String(afterChars);
        
        if (sortedBefore.equals(sortedAfter)) {
            return 1;
        } else {
            return 0;
        }
    }
}

  String을 문자로 받는 char 배열을 각각 생성했습니다. 이를 정렬하여 before와 after의 문자가 같은지 equals로 비교합니다. 같으면 1을, 다르면 0을 반환합니다. 배열을 생성하지 않고 charAt(i)로 각 문자를 받아서 비교하는 방법도 괜찮았을 것 같습니다.