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

silver's avatar
Jan 07, 2025
[알고리즘문제풀기] A로 B 만들기

문제

내가 작성한 오답

: 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