동구의_C# & Unity_개발일지
2024.04.01 내일배움캠프 67일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) 본문
공식적인 훈련 과정 중 마지막 달인 4월이 시작되었다!!
공휴일, 주말을 빼고 계산을 해보니 21일밖에 안 남았다...
오늘은 NPC와 대화 중 퀘스트 수락을 하면 퀘스트를 받아와 퀘스트 UI창에 띄우기를 구현하려는데 실패했다..
오늘까지 최대한 해보고 안되면 도움을 요청해야겠다 ㅠ
알고리즘 코드카타 50일차
모의고사
문제 설명
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다.1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요.
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] answers) {
int[] supo1 = new int[5] {1, 2, 3, 4, 5};
int[] supo2 = new int[8] {2, 1, 2, 3, 2, 4, 2, 5};
int[] supo3 = new int[10] {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int[] score = new int[3] {0, 0, 0};
int max = 0;
List<int> nList = new List<int>();
for(int i = 0; i < answers.Length; i++)
{
if(supo1[i % 5] == answers[i]) { score[0]++; }
if(supo2[i % 8] == answers[i]) { score[1]++; }
if(supo3[i % 10] == answers[i]) { score[2]++; }
}
for(int i = 0; i < 3; i++) { if(max < score[i]) { max= score[i]; } }
for(int i = 0; i < 3; i++) { if(max == score[i]) { nList.Add(i+1); } }
return nList.ToArray();
}
}

기술면접 연습하기 19일차
자료구조의 종류는 무엇이 있으며 각각 어떤 차이점이 있는지 설명해주세요
a. 위 자료구조는 무조건 좋은가요?
배열(Array): 일련의 요소를 순차적으로 저장하는 자료구조이다. 요소에 직접 접근할 수 있어 빠른 접근이 가능하다. 크기가 고정되어 있으며, 요소를 추가하거나 삭제하는 것이 어렵다.
연결 리스트(Linked List): 각 요소가 데이터와 다음 요소를 가리키는 포인터로 구성된다. 삽입 및 삭제가 배열보다 효율적이다. 중간에 요소를 추가하거나 삭제할 때 특히 유용하다. 요소에 직접 접근하는 데는 시간이 더 많이 소요된다.
스택(Stack): 후입선출(LIFO, Last In First Out) 원칙에 따라 데이터를 저장하는 자료구조이다. 데이터를 추가하거나 제거하는 데는 상단(마지막으로 추가된 요소)에서만 가능하다. 주로 함수 호출 및 재귀 알고리즘에서 사용된다. 큐(Queue): 선입선출(FIFO, First In First Out) 원칙에 따라 데이터를 저장하는 자료구조이다. 데이터를 추가하거나 제거하는 데는 앞과 뒤에서 모두 가능하다. 프로세스 관리, 네트워크 패킷 처리 등에 사용된다.
트리(Tree): 계층적으로 구성된 데이터를 표현하는 자료구조이다. 이진 트리(Binary Tree) 등 다양한 형태로 구성될 수 있으며, 데이터 검색 및 정렬에 사용된다.
이진 탐색 트리(Binary Search Tree)는 효율적인 검색 및 정렬이 가능하다.
해시 테이블(Hash Table): 키와 값을 한 쌍으로 저장하는 자료구조입니다. 해시 함수를 사용하여 키를 값의 위치로 변환한다. 빠른 데이터 검색과 삽입이 가능하며, 키의 중복을 피할 수 있다.
아니다. 각 자료구조는 특정한 문제나 상황에 더 나은 해결책을 제공하지만, 그 자체로는 모든 상황에 완벽하게 적합하지는 않다. 따라서 문제의 성격과 조건에 따라 적합한 자료구조를 선택하는 것이 중요하다.
최종 프로젝트
'최종 프로젝트' 카테고리의 다른 글
2024.04.04 내일배움캠프 70일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.04.04 |
---|---|
2024.04.02 내일배움캠프 68일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.04.02 |
2024.03.29 내일배움캠프 66일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.29 |
2024.03.28 내일배움캠프 65일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.28 |
2024.03.27 내일배움캠프 64일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.27 |