오늘의 목표
- 아침 코드카타
- 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 |
