프로그래머스 : A로 B만들기

Digeut·2023년 3월 13일
0

프로그래머스

목록 보기
23/164

❔문제설명

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

⚠️제한사항

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

🤔아이디어

before과 after을 배열로 만들고 before을 뒤집어 만든 배열과 비교해서 after배열과 뒤집은 배열이 같으면 1 다르면 0

❌틀린코드

import java.util.Arrays;

class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        String[] array = before.split("");
        String[] reverseArr = new String[before.length()];
        String[] arrayA = after.split("");
            
        for(int i = before.length() -1 , j = 0 ; i >= 0 ; i--,j++ ){
            reverseArr[j] = array[i];
        }
        
        if(reverseArr == arrayA){
            answer = 1;
        } else answer = 0;
        
        return answer;
    }
}

🙄오류

❌틀린코드2

import java.util.Arrays;

class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        String[] array = before.split("");
        String[] reverseArr = new String[before.length()];
        String[] arrayA = after.split("");
        
        Arrays.sort(array);
        Arrays.sort(arrayA);
        
        for(int i = 0 ; i < array.length ; i++){
            if(array[i].equals(arrayA[i])){
                answer = 1;
            } else answer = 0;
        }
        
        return answer;
    }
}

🙄오류2

왜..이번에는 반대가 되는거지

💡코드풀이

import java.util.*;

class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        char[] beforeArr = before.toCharArray();;
        char[] afterArr = after.toCharArray();
        
        Arrays.sort(beforeArr);
        Arrays.sort(afterArr);
        
        String beforeStr = new String(beforeArr);
        String afterStr = new String(afterArr);
        
        if(beforeStr.equals(afterStr)){
            answer = 1;
        } else {
            answer =0;
        }
        return answer;
    }
}

진짜 배열을 뒤집은 다음 비교해서 푸는거긴 한데..🙄 char통해서 배열을 만든다음 배열 안의 값들이 애초에 다르다면 뒤집어도 같은 단어를 만들수 없으니까 0을 반환하는 방법으로 바꿔서 풀었다. char로 바꾼 배열을 다시 문자열로 바꾸는 과정을 빼먹어서 또 실행이 안되서 헤맸다.

profile
개발자가 될 거야!

0개의 댓글