Kotlin 문법 및 연습 문제

(Kotlin) 프로그래머스 문제 설명의 제한 조건 의미

돗개진 2024. 3. 5. 09:28

 

프로그래머스 Kotlin 연습 문제 - 문자열을 정수로 바꾸기

 

 

이 문제를 풀기 전 나는 여태까지 제한 조건이 내가 걸러내야 하는 조건인 줄 알고 코드를 짤 때 계속 제한 조건에 맞는 조건문을 작성했다.

 

class Solution {
    fun solution(s: String): Int {
        var answer = 0
        var currentNumber = 0
        var currentSign = 1
        
        if (s[0] != '0') {
            if (s[0] == '-') {
                currentSign = -1
            } else if (s[0] == '+') {
                currentSign = 1
            } else {
                val digit = s[0].toString().toInt()
                currentNumber = digit
            }
            
            for (i in 1 until s.length) {
                val digit = s[i].toString().toInt()
                currentNumber = currentNumber * 10 + digit
                answer = currentNumber * currentSign
            }
            
        }
        return answer
    }
}

ㄴ> 그래서 이렇게 0으로 시작하면 실행되지 않을 조건... 첫 시작이 부호일 때 그걸 어떻게 정수로 처리할 것인지 등을 생각하며 코드를 작성해서 문제를 풀었다.

 

이번 문제가 조금 복잡한 문제인 줄 알고 다른 사람들의 정답 코드를 확인해 봤는데...

class Solution {
    fun solution(s: String): Int {
        return s.toInt()
    }
}

ㄴ> 너무 쉬운 코드가 정답이었다. 이상해서 프로그래머스 문제 내용의 제한 조건에 대해 검색해 보았다.

 

제한 조건은 주어지는 값이 제한 조건의 범위 안에서 주어진다는 거지

우리가 직접 걸러내야 한다는게 아닙니다.

 

....................

......

..

 

여태까지 사서 고생하면서 문제를 풀었다... 앞으로는 제한 조건을 내가 걸러내려고 하지 않고 문제를 풀어야겠다.