inblog logo
|
silver
    알고리즘문제풀기

    [알고리즘문제풀기] A로 B 만들기

    silver's avatar
    silver
    Jan 07, 2025
    [알고리즘문제풀기] A로 B 만들기
    Contents
    문제내가 작성한 오답내가 작성한 정답다른 사람들의 정답

    문제

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

    내가 작성한 오답

    : before2.equals(after2) 이렇게 비교하면 두 배열의 참조(메모리 주소)를 비교하게 되어 항상 false를 반환한다.
    import java.util.*; class Solution { public int solution(String before, String after){ char[] before2 = before.toCharArray(); char[] after2 = after.toCharArray(); Arrays.sort(before2); Arrays.sort(after2); return before2.equals(after2)?1:0; } }

    내가 작성한 정답

    import java.util.*; class Solution { public int solution(String before, String after){ char[] before2 = before.toCharArray(); char[] after2 = after.toCharArray(); Arrays.sort(before2); Arrays.sort(after2); return Arrays.equals(before2,after2)?1:0; } }
    💡
    Arrays.equals() 메서드는 두 배열의 요소를 비교하여 동일한지를 확인한다.

    다른 사람들의 정답

    class Solution { public int solution(String before, String after) { for(int i = 0; i < before.length(); i++){ // before에서 인덱스 i에 해당하는 문자가 after에 존재하면 // after 문자열에서 그 문자를 처음 발견한 위치의 문자만 공백으로 대체 after = after.replaceFirst(before.substring(i,i+1),""); } return after.length() == 0? 1: 0; } }
    💡
    String replaceFirst(String regex, String replacement)
    주어진 문자열에서 첫 번째로 발견되는 특정 문자열을 다른 문자열로 교체
    Share article

    silver

    RSS·Powered by Inblog