CodingTest :: 문자열 거꾸로해서 같은지 확인하는 문제

김병철·2023년 2월 10일
0

codingTest

목록 보기
6/11

# CodingTest Exercise

# A를 B로 바꾸기

# 링크

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

# 문제 설명

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

# 제한 사항

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

# 입출력 예

# 내 풀이(틀림)

StringBuffer의 reverse() 메소드 활용

public int solution(String before, String after) {
	StringBuffer sb = new StringBuffer(after);
	String reverseAfter = sb.reverse().toString();

	if(before.equals(reverseAfter)) return 1;

	return 0;
}

charAt 사용해서 문자 하나하나 비교

public int solution(String before, String after) {	
	if(before.length() != after.length()) return 0;
        
    char[] beforeArr = before.toCharArray();
	char[] afterArr = after.toCharArray();
	int len = beforeArr.length;
        
    for(int i=0; i<len; i++) {
    	if( beforeArr[i] != afterArr[len-i-1] ) return 0;
    }
    
    return 1;
}

둘 다 채점 오류나는데 왜지?

# 다른 사람 풀이

이게 왜 맞는지 모르겠음
Arrays.sort() 활용해서 정렬하는 것.
이렇게 하면 다른 문자열이지만 같은 문자 종류와 개수로 이뤄진 것을 구분못하지 않을지..

profile
keep going on~

0개의 댓글