코틀린/코딩테스트

코딩테스트 [짝수는 싫어요]

정혜현 2024. 6. 13. 09:51

문제

정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 return하도록 solution 함수를 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/120813


 

 

풀이

1. 접근

1.1 관찰

기능 : 1부터 n까지 범위로 설정한다. 2로 나누어 나머지가 0이 아니면 answer에 담는다. 반복한다. 

반환 : 배열을 리턴한다.

 

 

 

 

 

2. 시행착오

2.1 시도

  • 가설 : for문으로 1부터 n까지 범위로 설정하고 if조건문으로 2로 나눈 나머지가 0이 아닌 경우에만 배열에 담으면 될 것이다.
class Solution {
    fun solution(n: Int): IntArray {
        var answer: IntArray = intArrayOf()
        for(i in 1..n){
            if(i%2 != 0) {answer += i}
            else {}
        }
        return answer
    }
}
  • 검증 : 성공

코드를 줄여보기로 한다.

class Solution {
    fun solution(n: Int): IntArray {
        var answer: IntArray = intArrayOf()
        for(i in 1..n){
            if(i%2 != 0) answer += i}
        return answer
    }
}

 

조건문 한 줄이라 중괄호를 지우면서 else도 지워봤더니 됐다. 예외처리를 안해줘도 되는지 찾아보니 

모든 예외사항을 처리했을 경우, 거짓일 때 아무것도 안해도 되는 경우, 조건문 다음 직접적으로 반환되는 경우

else 생략이 가능하다.  

 

 


회고

어제, 같은 실수도 반복하고 그나마 잘 들었던 이론도 이해 못하고 코드 작성위치도 아직까지 헤매는 스스로가 한심하고 답답했다. 초조해하지 않기로 했는데도 주변을 돌아보면 나는 상대적으로도 절대적으로도 너무 부족했다. 제자리걸음하고 있는 스스로를 보며 힘이 빠졌는데 오늘 해보면서 확실히 성장하고 있다는 게 느껴졌다. 느리지만 분명하니까 이대로만 해보자.