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

 

프로그래머스

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

programmers.co.kr

 

 

class Solution {
    fun solution(n: Int, m: Int, section: IntArray): Int {
        var answer: Int = 0
        var max = 0
        if(m == 1) {
            answer = section.size
        }
        else {
            for(i in 0 until section.size){
                if(section[i] < max){
                    continue
                }
                answer++
                max = section[i] + m
            }
        }
        return answer
    }
}

 

처음에 answer 값에 1을 먼저두고 max에 m값을 넣어놓고 풀었다.

예시 테스트는 통과했으나 채점테스트에서 4개의 반례가 나왔다. 찾아봐도 반례를 못찾아 조원분께 도움을 요청드렸다.

 

알고보니 같은 문제에서 테스트 값 5, 2, [1,2,5] 로 꽤나 고생을 하셨다고 하셨다. 한번 테스트값으로 추가해보라는 말씀대로 추가해서 보니 정말 내 코드의 반례가 되는 예시였다. 천천히 코드에 넣어서 분석해보니 for문안에 if문에서 section[i]값과 max값이 같을 때 일어나는 문제였다. 

 

answer 초기값 0 max도 초기값 0 으로 실행하면 정말 쉽게 풀어지는 문제였다.

 

도움을 요청하고 함께 문제점을 논의하는 과정이 정말 중요하다는 이야기를 들을 때면  "그래 그렇지" 라는 생각만 들었다. 하지만 사실 실제로 그렇게 하는 것은 보기보다 어려운 문제인 것 같다..

 

살면서 어려움에 봉착했을 때 다른 사람에게 도움을 구해야 겠다는 생각과 행동은 도움을 구해본 경험이 중요한 것 같다.

 

도움을 요청하려는 생각이 나의 약점을 노출시키고 초라하게 만들 것이라고 느껴왔던건지 나는 살면서 도움을 많이 요청한 경험이 많이 없었다. (<- 이런 사람 특: 알게모르게 도움 많이 받음,,ㅎㅎ)

 

하지만 내일배움캠프를 하면서 정말 적극적으로 모르는 것에 있어서 팀원들 그리고 튜터분들께 질문하고 도움을 요청하면서 느낀 점은 도움을 요청하는 것이 내 생각과 다르게 나를 더 빠르게 성장시키고 발전시키고 있다는 것이다.

 

도움을 요청하기 전에 내가 어떤 부분에서 어려움을 느끼고 있는지 정확히 인지하고 있어야 하는 부분에서 스스로 배우는 것도 많았고 모르는 부분에 대한 답변을 받을 때 모르는 부분을 포함한 그 외 것들에서도 배우는게 있었다.

 

이번에 정말 이건 반례가 없다!!! 프로그래머스 프로그램에서 문제점을 발견했다!!! 라고 생각했던 나를 다시 되돌아보게 된 문제였다.

3조 경식님께 감사의 말씀 올립니다ㅎㅎ

+ Recent posts