[Level 1] 프로그래머스 문자열을 정수로 바꾸기 코틀린 풀이

[Level 1] 프로그래머스 문자열을 정수로 바꾸기 코틀린 풀이

프로그래머스 문자열을 정수로 바꾸기 코틀린 풀이


문제 소개

이번 문제는 문자열을 조건에 맞게 숫자로 바꾸면 되는 쉬운 문제이다!

problem


문제풀이

이번 문제의 경우의 수는 크게 3가지가 있는데

  1. +숫자
  2. 숫자
  3. -숫자

여기서 +만 제거해버리면 1, 2번을 하나로 묶어서 처리할 수 있습니다

if문을 써도 되지만 저는 엘비스 연산자 ?:를 이용하여 문제를 풀어봤습니다.

먼저 replace+를 제거한 뒤 toIntOrNull을 사용하여 3번의 경우에는 null을 반환하게 해줍니다.

이때 엘비스 연산자 ?:null일시에는 -를 제거하고 0에서 빼서 음수로 만들어줘서 처리합니다!


정답 코드

1
2
3
4
5
class Solution {
fun solution(s: String): Int =
s.replace("+", "").toIntOrNull() ?:
0 - s.substring(1).toInt()
}

엘비스 연산자OrNull의 조합 정말로 유용합니다!

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

댓글