1 minute read

졸업을 한학기 앞두고 코딩테스트를 위해서 “알고리즘을 공부해야지 해야지” 생각만 하고 있었다가 코드트리 챌린지라는 좋은 기회를 발견하여 참가하였다. 혼자보단 이런 챌린지를 참가하면 더욱 의욕이 솟아난다.


첫 실력진단평가

실력진단평가가 있길래 응시해보았다.
한문제당 10분정도 주어지는데 초반에는 매우 쉬웠다. 이대로는 모두 풀것 같았다. 그런데 점점 단계가 넘어가면서 쉬워보여도 결국 10분안에 풀지 못하였고 응시가 종료되었다. 정말 시간이 빠르게 지나갔고 마치 직접 코딩테스트를 보는것 같은 긴장감이었다.

결과

나의 점수는 393점이었다.

393

아쉬움이 컷다.
반면에 현실의 나의 위치는 이정도였구나를 직접적으로 느끼면서 더많은 시간을 투자해야겠다는 생각이 든다.


진단 요약

codetree_test

신기한점은 최근 프로그래머스에서 문자열, Arraylist에서 어려움을 겪고 있었는데 코드트리 진단평가 결과에서도 배열,문자열,리스트부터 공부를 해보라고 추천해준 것이었다.

신뢰감이 들면서 앞으로 여기서 학습을 해봐야겠다는 생각이 든다.


예상 학습 시나리오

image-2

학습 시작

어떻게 풀지 머릿속 생각을 코드로 입력하려니 막막하고 에러가 나서 막상 정답을 맞추어도 내가 이해하기 어려운 코드가 되어있곤 했다.

image-1

추천되어있는 진도에서 몇문제 풀어보았는데 다른 문제사이트와 다른점은 문제를 바로 풀지 않고 기본 개념이 나오고 문제를 푸는 형식이다. 또한 문제와 관련이 없는 기술적인 문제때문에 반복적으로 틀렸을때 틀린부분에 대해서 조언해주는 메시지도 떠서 좋은것 같다.

앞으로는 코드트리 커리큘럼대로 갈것 같다.



인상 깊은 문제

배열의 특정 위치 찾기

문제 설명

10개의 정수를 입력받아 배열에 저장한 후 짝수 번째로 입력된 값의 합과 3의 배수 번째로 입력된 값의 평균을 출력하는 프로그램을 작성하시오.


제한사항

시간 제한: 1000ms 메모리 제한: 80MB


입력 예

10개의 정수가 공백을 사이에 두고 주어집니다.

  • 1 ≤ 주어지는 정수 ≤ 100
1 2 3 4 5 6 7 8 9 10

출력 예

합과 평균을 공백을 사이에 두고 출력합니다. 평균은 반올림하여 소수첫째자리까지 출력합니다.

30 6.0

입출력 예 설명

입출력 예 #1 짝수 번째 원소의 합은 2 + 4 + 6 + 8 + 10 = 30 입니다.

3의 배수 번째 원소의 평균은 (3+ 6+ 9) / 3 = 6 입니다.


나의 풀이 코드

import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int[] arr;
        arr = new int[10];		
        int sum = 0;
        double sum_3 = 0;
        double avg = 0;
        int cnt = 0;

        for (int i=0 ; i < 10 ; i++) {
			arr[i] = sc.nextInt();		
		}
            
        for (int i=0; i < 10 ; i++) {
			if ((i+1)%2==0){
                sum = sum+arr[i];
            }
            if ((i+1)%3==0){
                sum_3 = sum_3+arr[i];
                cnt++;
            }
        }
        avg = sum_3/cnt;

        System.out.printf("%d %.1f",sum,avg);
    }
}

배운점

여러 문제사이트 환경에서 문제를 풀어봐야겠다. 환경이 달라지는 부분 때문에 시간이 더 많이 들였다.

Leave a comment