오늘의 목표

  • 아침 코드카타
  • Chapter2 팀 프로젝트 발표!!

 

코드카타 

[문제] 없는 숫자 더하기.

 

0~9 사이의 숫자가 서로 겹치지 않고 몇 개만 존재하는 배열을 주고, 0에서부터 9까지 중 그 배열 내에 존재하지 않는 수를 더하는 문제이다.

 

<문제 풀이 과정>

처음에는 0~9까지의 숫자를 순환하는 loop와 배열을 순환하는 loop 두 가지를 이중 for loop로 만들어서 0~9 사이의 숫자와 배열 내 숫자를 비교한 후 같은 숫자이면 정답 변수에 더하는 식으로 해결하려고 했다.

예시 코드

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int compare(const void *a, const void *b){
    return (*(int*)a - *(int*)b);
}



// numbers_len은 배열 numbers의 길이입니다.
int solution(int numbers[], size_t numbers_len) {
    int answer = 0;
    
   for(int i = 0; i < 10, ++i) {
   	for(int j = 0; j < numbers_len; ++j){
    	if(i == numbers[j]){
        	answer += j;
        }
    }
   }
    
    return answer;
}

그런데 이렇게 작성하게 될 경우 복잡도가 O(n^2)이 되어 훨씬 오래걸리게 된다.

그래서 대신 0~9까지의 합에서 주어진 numbers 배열 값을 빼는 식으로 계산했다. 

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

int compare(const void *a, const void *b){
    return (*(int*)a - *(int*)b);
}



// numbers_len은 배열 numbers의 길이입니다.
int solution(int numbers[], size_t numbers_len) {
    int answer = 0;
    
    for(int i = 0; i < 10; ++i){
        answer += i;
    }
    
    for(int i = 0; i < numbers_len; ++i){
        answer -= numbers[i];
    }
    
    return answer;
}

이러면 복잡도가 O(2n)이 되어 훨씬 빨라진다.

 

발표 진행

아침 회의로 마지막 코드 조정 및 발표를 진행.

 

[받은 피드백 정리]

잘 한 점: 

싱글톤 패턴을 사용한 FM적 게임 구조 설계

지그재그 모양으로 UI창을 구성. 직관적으로 읽을 수 있는 구조

개선할 점:

타격담이나 진행도에 대한 몰입이 부족하다. 타격을 받을 때 텍스트 애니메이션을 넣는 등 UI 개선 여지 있음.

 

 

'Unreal5 공부 > TIL' 카테고리의 다른 글

2026/04/03 TIL  (0) 2026.04.03
2026/04/02 TIL  (0) 2026.04.02
2026/03/30 TIL  (0) 2026.03.30
2026/03/27  (0) 2026.03.27
2026/03/26 TIL  (0) 2026.03.26

+ Recent posts