[프로그래머스] OX 퀴즈

Sdoubleu·2023년 5월 2일
0

프로그래머스

목록 보기
25/34
post-thumbnail

문제


내가 쓴 풀이

class Solution {
    fun solution(quiz: Array<String>): Array<String> {
        val mut = mutableListOf<String>()
        
        for (i in 0 until quiz.size) {
            val num = quiz[i].split(" ")
            if (num[1] == "+") {
                if (num[0].toInt() + num[2].toInt() == num[4].toInt()) mut.add("O")
                else mut.add("X")
            } else if (num[1] == "-") {
                if (num[0].toInt() - num[2].toInt() == num[4].toInt()) mut.add("O")
                else mut.add("X")
            }
        }
        
        return mut.toTypedArray()
    }
}

val quiz = arrayOf("3 - 4 = -3", "5 + 6 = 11") 의 입력이 들어온다면
공백을 기준으로 split을 이용해서 list 형식에 넣었다

그러면 일정한 사이즈로 방정식을 나눌 수 있다

1번의 인덱스를 통해 연산자를 기준으로 값을 계산하여
마지막 인덱스와 비교를 해서 같으면 O 다르면 X 를 add 한다


다른 사람 풀이

class Solution {
    fun solution(quiz: Array<String>): Array<String> {
        return quiz.map { s: String ->
            val arr = s.trim().split(" ".toRegex())
            if (arr[1] == "+" && arr[0].toInt() + arr[2].toInt() == arr[4].toInt() 
            || arr[0].toInt() - arr[2].toInt() == arr[4].toInt()) "O" 
            else "X"
        }.toTypedArray()
    }
}

📌 참고 자료

split 에 대하여

profile
개발자희망자

0개의 댓글