공부/프로그래머스

[프로그래머스] A로 B 만들기 - Java

빈v 2023. 6. 10. 22:14
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120886

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

프로그래머스 A로 B 만들기 자바 풀이

난이도: Lv0

 

문제 설명

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


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

입출력 예
before after result
"olleh" "hello" 1
"allpe" "apple" 0

입출력 예 설명

입출력 예 #1

  • "olleh"의 순서를 바꾸면 "hello"를 만들 수 있습니다.

입출력 예 #2

  • "allpe"의 순서를 바꿔도 "apple"을 만들 수 없습니다.

 

풀이

정렬을 한 후 비교한다.

처음에는 꺼꾸로 순서를 바꿔 비교하는 줄 알았으나, 모든 순서에 상관없이여서, 모든 알파벳을 정렬한 뒤 비교한다.

 

 

코드

import java.util.Arrays;
class Solution {
    public int solution(String before, String after) {
        int answer = 1;
        char[]be=before.toCharArray();
        char[]af=after.toCharArray();
        Arrays.sort(be);
        Arrays.sort(af);
        for(int i=0;i<be.length;i++){
            if(be[i]!=af[i]){
                answer=0;
                break;
            }
        }
        return answer;
    }
}
728x90
반응형