[코드트리 챌린지] 마지막.. - 새로운 도전의 기반을 마련해줘서 고마운 챌린지

2023. 10. 30. 15:47카테고리 없음

벌써 10월의 마지막이 다가오고 있다. 

엄청난 포부를 가지고 시작한 챌린지의 마지막 나의 결과는.. 아쉽게도 최고점을 갱신하지 못했다. 

 

커리큘럼 따라가기에 벅차서 어느 순간 부턴 점수를 올려야된다는 강박도 있었던 것 같다. 

그래서인지 많이 아쉽다. 

하지만 이게 내 현재 실력 수준이라면 더 노력하는 것 말곤 방법이 없다. 
(지난 글에서도 주구장창 떠들지 않았는가..) 

아쉬움에 사이트를 돌아다녀보니 실전훈련 이라는 탭에 무료로 제공하는 서비스가 정말 많다. 
(그러고보니 제대로 이용해보지도 못했다)

코드트리에서 제공해주는 문제들을 많이 풀어보면서 실력을 더욱 쌓아야 겠다는 생각을 했다. 

내가 이런 다짐을 한 채 꾸준히 노력한다면 다음 달? 아님 그 다음달에는 점수를 뛰어넘을 수 있을지 궁금해지기도 한다. 

 

[문제 풀이] 

그나마 내가 머리가 쌩쌩 돌아가던 날 풀었던 마지막 문제를.. 가져와봤다. 역시 시뮬레이션 파트의 문제이다. 

(문제 링크는 아래를 클릭!)

https://www.codetree.ai/missions/5/problems/place-more-than-3-ones?&utm_source=clipboard&utm_medium=text

import java.util.Scanner;

public class Main {

    public static int[] dx = new int[] {1, 0, -1, 0};
    public static int[] dy = new int[] {0, -1, 0, 1};
    public static int n = 0;

    public static void main(String[] args) throws Exception {
        Scanner s = new Scanner(System.in);

        n = s.nextInt(); 

        if (n > 100 || n < 1) 
            throw new IllegalArgumentException("Invalid input value.");

        int[][] arr = new int[n][n];

        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                arr[i][j] = s.nextInt();
            }
        }

        int cnt = 0; 

        // 동서 남북 인접 체크 
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                int localCnt = 0;
                for (int dirNum = 0; dirNum < 4; dirNum++) {
                    int nx = i + dx[dirNum];
                    int ny = j + dy[dirNum];

                    if (inRange(nx, ny) && arr[nx][ny] == 1) {
                        localCnt++;
                    }
                }

                if (localCnt >= 3) {
                    cnt++;
                }
            }
        }

        System.out.println(cnt);

    }

    public static boolean inRange(int x, int y) {
        return (0 <= x && x < n && 0 <= y && y < n);
    }
}

 

 

이렇게 마지막 글을 정리하긴 아쉬워 내가 약 2달여간 코드트리를 이용해보며 느낀 점을 간단히 써보려 한다. 
코드트리 서비스를 이용하기를 고민하는 사람들에게 약간의 도움이 되었음 좋겠다.

 

쉽지 않다.. 가끔 샷건 마렵다

 

1. 결코 쉽지 않다. (초보자용 서비스는 아닌 것 같다.)
= 내가 꿈꿔왔던 것이 결코 만만한 게 아니었다는 것을 다시금 상기시켜줄 정도로 문제가 쉽지 않았다. (내 기준)
왕초보라면 모르는 용어 및 개념들이 쏟아져서 이 길을 포기하지 않을까 걱정도 된다. 
그래서 나는 최대한 구글링과 검색을 많이 활용했다. 
그래도 어떤 문제를.. 계속 붙잡고 고민하며 결국 해결했을 때 그 때 나의 실력이 향상되었다는 것이 피부에 체감이 될 정도여서 한편으로는 뿌듯했다. 

2. 힌트의 부재가 아쉽다. 
비전공자나 코딩을 접한지 얼마 안된 사람들에게는 아무리 이론을 읽어도 이해가 되지 않는 부분이 많다고 생각한다. 
그래서 문제를 푸는데 어디에서부터 접근해야할지 난감한 문제들이 몇몇 있었다. 
실력체크 부분은 문제를 포기하고, 해설을 보는 것도 불가능해서 아직도 못풀고, 그냥 진도를 빼버린 문제들도 있다. 
약간의 힌트를 제공해주는 것은 어땠을까 하는 아쉬움이 살짝 있었다. 
실전 문제에선 당연히 힌트 따윈 없겠지만.. 커리큘럼에선 뭔가 댓가를 지불하면 힌트 정도는 얻어도 되지 않을까? 싶었다.

3. 확실히 기초가 튼튼해야 한다. 
코드트리 서비스를 이용할 분들은 그래도.. 음.. 전공에 대한 기초 지식이 있거나 고등 수학 같은 하위 개념에 대해 베이스가 아예 없다면 힘들 수 있다. (지금의 나처럼..) 
코딩테스트 공부하기에도 벅찬데 나 같은 경우 여기저기 구멍난 지식을 메꾸느라 시간을 쏟고 있기 때문이다. ㅎㅎ 

 

그래도 이 챌린지를 통해 나는 내가 봤을 때, 과거의 나보다는 확실히 성장했다.
지난 글에서도 언급했지만 실무에서도 내가 배운 것들을 어떻게 써먹을 수 있을까? 고민하며 코드를 작성하기 시작했다.

내부 API를 호출하더라도 이 API가 어떻게 동작하는지를 자세히 확인 하는 습관이 생긴 건 긍정적이다. 

 

그리고 작심삼일하는 습관을 깨부쉈다.
(이게 중요함)

내 스스로가 어느정도인지 판단해보기 위해 시작했지만 다른 사람들보다 뒤쳐지면 안된다 싶어 그래도.. 꾸준하게 시간 투자를 했고, 시뮬레이션 점수보단 안나왔지만.. 그래도 기초적인 습관을 잡았다는 것에 큰 의의를 두고 있다. 

내가 이 기회를 최대한으로 이용하지 못한 것이지 정말 좋은 프로그램이고, 좋은 챌린지였다.

다음에 기회가 주어진다면 또 참여하고 싶고, 이번 챌린지보다 더 좋은 결과를 얻고 싶다는 약간의 바람도 있다.

그 외에 하고 싶은 말이 많지만 생각 날 때 또 써보기로 하고.. 일단은 나의 여정을 잠시 멈추고자 한다. 
늦깎이 개발자에게 이런 기회를 만들어준 코드트리에게 우선 감사하다는 말을 전하고 싶다. 

그리고 취업준비하느라 힘든 모든 이들이 힘내서 각자가 원하는 분야에 취업하여 즐겁게 지내길 바라본다. 
(나 포함..)