코테/프로그래머스

[프로그래머스/Lv. 0] A로 B 만들기

imname1am 2023. 1. 28. 02:39
반응형

틀린 내 코드

class Solution {
    public int solution(String before, String after) {

        String newStr = "";
        
        for(int i = before.length()-1 ; i >=0  ; i--) {
            newStr += String.valueOf(before.charAt(i));
        }
        
        return (newStr.equals(after)) ? 1 : 0;
    }
}

왜 틀렸지 하고 힌트를 찾아보았다..

 

프로그래머스

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

programmers.co.kr

맙소사.. 알고 보니 거꾸로 바꿔서 동일한지를 묻는 게 아닌...

이리저리 순서를 바꿔 after를 만들 수 있는지 묻는 문제였던 것임..... 🤦‍♀️

문제를 너무 대충 읽었다... (정신 체리..)

 

그래서 다시 풀어본 결과...

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);
        
        before = new String(beforeChars);
        after  = new String(afterChars);
        
        return (before.equals(after)) ? 1 : 0;
    }
}

해결했다...! 힌트 보고 푼 거지만 나름 뿌듯..🤸‍♀️

 


(참고)

✔ 자바에서 문자열 정렬 (String.tocharArray() - Arrays.sort())

 

Java에서 문자열 정렬

이 게시물은 Java에서 문자열을 정렬하는 방법에 대해 설명합니다. 우리는 문자열이 Java에서 불변이라는 것을 알고 있습니다. 즉, String 객체가 생성되면 메모리에서 수정할 수 없습니다. 즉, 문자

www.techiedelight.com

✔ 자바 문자열 비교 (str1.equals(str2))

 

Java - 문자열(String)을 비교하는 방법 (==, equals, compare)

보통 자바에서 equals()를 사용하여 문자열이 동일한지 확인합니다. ==는 object가 동일한지를 체크하기 때문에 object가 갖고 있는 문자열이 동일하다는 것을 보장하지 않습니다. 또한 compare 메소드

codechacha.com

 

 

반응형