[Lv. 0] A로 B 만들기프로그래머스/Level 02023. 3. 28. 13:34
Table of Contents
문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/120886
난이도 : Level.0
언어 : Kotlin
문제 설명 :
- 문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
제한 사항 :
- 0 < before의 길이 == after의 길이 < 1,000
- before와 after는 모두 소문자로 이루어져 있습니다.
입출력 예 :
before | after | result |
"olleh" | "hello" | 1 |
"allpe" | "apple" | 0 |
풀이 :
class Solution {
fun solution(before: String, after: String): Int = if (before.toList().sumOf { it.code } == after.toList().sumOf { it.code }) 1 else 0
}
문제의 함정에 걸렸었다.
단순히 입출력 예시를 보고 before를 reverse 시켜서 비교하면 끝나겠네 싶었지만, 뒤집는게 아니라 순서를 바꾸는 것으로 아스키 코드의 총합을 보고 푸는 문제였던 것이다.
근데 단순히 총합만 맞으면 통과 되는 케이스도 있지 않을까?
그럼 문자 하나하나의 아스키 코드를 before와 after 를 대조한 뒤 거기서부터 틀려먹었다면 0을 반환하면 되지 않을까 싶기도 하다.
'프로그래머스 > Level 0' 카테고리의 다른 글
[Lv. 0] 치킨 쿠폰 (0) | 2023.03.28 |
---|---|
[Lv. 0] 이진수 더하기 (0) | 2023.03.28 |
[Lv. 0] k의 개수 (0) | 2023.03.28 |
[Lv. 0] 중복된 문자 제거 (0) | 2023.03.28 |
[Lv. 0] 삼각형의 완성조건 (1) (0) | 2023.03.28 |
@스몰스테핑 :: 작은 발걸음
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!