[프로그래머스] 조건 문자열

devel_liz·3일 전
1

코딩테스트

목록 보기
2/8

🗒 문제






수도코드

  1. ineq와 eq 문자열을 조건으로 변환한다.
  2. ineq와 eq조건에 맞으면 1을 반환 그렇지 않으면 0을 반환한다.

📝 나의 문제풀이

class Solution {
    fun solution(ineq: String, eq: String, n: Int, m: Int): Int {
        var answer = 0
        answer = when("$ineq$eq"){
            "<=" -> if(n <= m) 1 else 0
            ">=" -> if(n >= m) 1 else 0
            "<!" -> if(n < m) 1 else 0
            ">!" -> if(n > m) 1 else 0
            else -> 0
        }
        return answer
    }
}

📝 다른 사람의 문제 풀이

class Solution {
    fun solution(ineq: String, eq: String, n: Int, m: Int): Int {
        var answer: Int = 0
        val op = ineq + eq

        when (op) {
            "<=" -> answer = if (n <= m) 1 else 0
            ">=" -> answer = if (n >= m) 1 else 0
            "<!" -> answer = if (n < m) 1 else 0
            ">!" -> answer = if (n > m) 1 else 0
        }

        return answer
    }
}

🖊 문제 풀이 시 알면 좋을 것

  • when문
    • switch문을 대체하는 형태로 사용됩니다. 여러 조건을 비교하고, 맞는 조건에 맞는 코드를 실행하는 구조입니다.

📌 마치며

해당 문제들은 주어진 조건 문자열을 어떻게 조건으로 변형해서 각 조건에 맞는 값을 return하냐에 대한 문제이다. 항상 코딩 테스트 문제를 풀기 전 문제를 이해한 뒤 수도코드로 어떻게 풀어나갈 것인지 흐름을 적어준다. 수도코드를 적는 작업을 한 뒤 문제를 풀어나가면 중간에 엉뚱한 방향으로 새어나가지 않고 문제를 풀 수 있다.

profile
Android zizon

0개의 댓글