동구의_C# & Unity_개발일지
2024.03.26 내일배움캠프 63일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) 본문
퀘스트 창 UI 변경(Q을 누르면 수락 창과 완료창이 같이 나오게 하기)
튜터님 피드백 받은 코드 수정하기
알고리즘 코드카타 46일차
명예의 전당 (1)
문제 설명
"명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다.
이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수의 점수가 [10, 100, 20, 150, 1, 100, 200]이라면, 명예의 전당에서 발표된 점수는 아래의 그림과 같이 [10, 10, 10, 20, 20, 100, 100]입니다.
명예의 전당 목록의 점수의 개수 k, 1일부터 마지막 날까지 출연한 가수들의 점수인 score가 주어졌을 때, 매일 발표된 명예의 전당의 최하위 점수를 return하는 solution 함수를 완성해주세요.
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
public int[] solution(int k, int[] score) {
int[] answer = new int[score.Length];
List<int> board = new List<int>();
for(int i = 0; i < score.Length; i++)
{
if(board.Count == k)
{
if(board[0] > score[i])
{
answer[i] = board[0];
continue;
}
board.RemoveAt(0);
}
board.Add(score[i]);
board.Sort();
answer[i] = board[0];
}
return answer;
}
}
기술면접 연습하기 15일차
정렬 알고리즘이란 무엇이며, 사용 이유에 대해 설명해주세요.
정렬 알고리즘은 주어진 데이터를 특정한 기준에 따라 순서대로 정리하는 알고리즘이다.
탐색 용이성: 정렬된 데이터는 특정 값을 찾거나 검색하는 데 더욱 효율적이다.
데이터 분석 및 통계: 정렬된 데이터는 데이터 분석 및 통계 작업에 유용하다. 정렬된 데이터를 사용하면 중앙값, 평균값 등을 효율적으로 계산할 수 있다.
중복 제거: 중복된 항목을 제거하거나 중복을 확인하기 위해서는 종종 데이터를 정렬해야 한다. 정렬된 데이터에서 중복을 확인하거나 제거하는 작업은 단순하고 효율적이다.
데이터 시각화: 데이터를 시각화할 때, 정렬된 데이터는 그래프나 차트를 만들기에 적합하다. 정렬된 데이터를 사용하면 시각화가 보다 의미 있고 이해하기 쉬워진다.
다른 알고리즘의 전처리 단계: 다른 알고리즘의 입력으로 사용되는 데이터를 정렬하면 종종 해당 알고리즘의 성능을 향상시킬 수 있다.
최종 프로젝트
~ing
'최종 프로젝트' 카테고리의 다른 글
2024.03.28 내일배움캠프 65일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.28 |
---|---|
2024.03.27 내일배움캠프 64일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.27 |
2024.03.25 내일배움캠프 62일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.25 |
2024.03.22 내일배움캠프 61일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (1) | 2024.03.22 |
2024.03.21 내일배움캠프 60일차 TIL_Unity (최종 프로젝트, 알고리즘, 기술 면접) (0) | 2024.03.21 |