본문 바로가기
today i learn

12.11

by Enzo.enzo 2023. 12. 11.

https://school.programmers.co.kr/learn/courses/30/lessons/120829/solution_groups?language=kotlin

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

위의 코드에서 솔로션 매서드는 클래스가 있어야 동작하며

when 함수 뒤에 변수를 지정하는 () 가 {}중괄호 안에 위치할 수도 있다는 것

0<n<100 같은 이중 부등호는 못쓰는 대신 &&  .. until 등의 부호를 대신 쓴다는 것을 

다시한번 복습할 수 있었다.

 

class Solution {
    fun solution(n: Int): Int {
        var answer: Int = 0
           for (i: Int in 0..n){ 

        i += 2
        answer += i
    }
        return answer
    }
}

오류 . i 는 val 의 값을 가지므로 반복하여 2씩 더하는 게 불가능함

 

class Solution {
    fun solution(n: Int): Int {
        var answer: Int = 0
           for (i: Int in 0..n step 2){ 
        answer += i
    }
        return answer
    }
}

step2로 오류해결

 

다른풀이

class Solution {
    fun solution(n: Int) = (0..n).filter { it % 2 == 0 }.sum()
}

 

질문

다른풀이

 

 

When 함수

 

class Solution {
    fun solution(num: Int): String {
        var answer = when {
            num % 2 == 0 -> "Even"
            num % 2 == 1 -> "Odd"
            
        }
        return answer
    }
}

 

 

오류 error: 'when' expression must be exhaustive, add necessary 'else' branch

 

수정

class Solution {
    fun solution(num: Int): String {
        var answer = when {
            num % 2 == 0 -> "Even"
            num % 2 != 0 -> "Odd"
            else -> "Unknown" // 추가: 홀수도 아니고 짝수도 아닌 경우
        }
        return answer
    }
}

다른답변

추가

 인텔리제이 라인정리/Ctrl+Shift+L

import 문 라인정리 Ctrl+Shift+O

'today i learn' 카테고리의 다른 글

12.19  (1) 2023.12.19
12.12  (0) 2023.12.12
1206  (2) 2023.12.06
1205  (1) 2023.12.05
1204  (1) 2023.12.04