티스토리 뷰

728x90

 

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

 

문제 사진

내 풀이

 

첫풀이 오답 

func solution(_ before:String, _ after:String) -> Int {
    return String(before.reversed()) == after ? 1 : 0
}

solution("allpe", "apple")

// 0

처음 생각했던건 순서를 바꾸면 된다해서 '뒤집는'거에만 집중했었다.

테스트결과는 주루룩 실패.. 

 

그래서 하나하나 비교해야하는데 정렬을 해야할거라 생각했고 적용해본 알고리즘은 아래와 같다.

 

func solution(_ before:String, _ after:String) -> Int {
    return before.sorted() == after.sorted() ? 1 : 0
}

solution("allpe", "apple")

// 0

매개변수 befor, after를 다 정렬시키고 같은게 있으면 결국엔 after 문자를 만들 수 있다는 거니까 sorted() 메서드를 사용했다.

728x90