코딩테스트

A로 B만들기 JAVA 코딩테스트 프로그래머스

daeyun대윤 2023. 10. 28. 07:05


A로 B만들기 JAVA

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr


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

처음 작성한 코드 : 통과는 하는데, 제출하면 테스트케이스 몇군데에서 틀렸다고 나옴.

class Solution {
    public int solution(String before, String after) {
        int answer = 0;
        String temp = "";
        String[] bs = before.split("");
        
        for(int i=bs.length-1; i>=0 ; i--){
            temp += bs[i];
        }
        System.out.println(temp);
       if( temp.equals(after) ) answer = 1;
        return answer;
    }
}

구글링 해보니까 내가 문제를 잘못 생각했었다. 반대로 뒤집기만 해서, 뒤집은 문자가 after 매개변수로 받은 문자열과 같은지 아닌지... 그렇게만 생각했었다보니....!! 문제를 제대로 이해하지 못한 죄.....😱




두 번째 코드 : (통과됨) 많은 분들이 비교하기전에 정렬을 하시는 것을 보고 알게됨...!!! 감사합니다~

import java.util.*;

class Solution {
    public int solution(String before, String after) {
        int answer = 1;
        String temp = "";
        
        String[] bfArray = before.split("");
        String[] afArray = after.split("");
        
        Arrays.sort(bfArray);
        Arrays.sort(afArray);
        
        for(int i=0;i<bfArray.length; i++){
          if ( !afArray[i].equals(bfArray[i])) answer = 0 ;
        
        }
        return answer;
    }
}



참고 블로그 : https://2-nough.tistory.com/m/68

 

자바 알고리즘 - A로 B 만들기

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

2-nough.tistory.com

 

 

728x90
300x250