2025/02 46

[멋쟁이사자처럼 부트캠프 TIL 회고]

오늘의 목표01. 타이머 만들기02. 하트 만들기 01. 타이머 만들기 내가 한 방식 : 게임매니저에 우겨넣기using System;using System.Collections;using System.Collections.Generic;using UnityEngine;public class GamePanelController : MonoBehaviour{ public GameObject _firstQuizCardObject; private GameObject _secondQuizCardObject; private List _quizDataList; private int _lastGeneratedQuizIndex; private int _lastStageIndex; priv..

TIL 2025.02.17

Thread

목차01. 기본 개념02. 사용 방법03. 스레드 상태04. 스레드 동기화01. 기본 개념 프로세스: 데이터와 코드가 메모리에 올라가 동작하는 것, 운영체제로부터 자원을 할당받아 실행되는 독립적인 실행 단위 스레드(Thread): 프로세스가 할당받은 자원을 이용하는 실행 흐름의 작은 단위  운영체제가 CPU에 시간을 할당하는 기본 단위  프로세스 내에서 실행되며, 프로세스의 자원을 공유함 싱글 스레드 하나의 작업만 순차적으로 진행, 유니티에서 메인 로직은 싱글 스레드로 작동 (유니티에서 Update(), FixedUpdate() 등은 메인 스레드에서 실행) 멀티 스레드장점 : 동시에 여러 작업이 가능, 데이터 공유가 쉬움, 메모리 절약 가능, 응답성 향단점 : 구현이 복잡함, 소프트웨어 안정성이 낮아짐,..

개념공부 2025.02.16

모의고사, 소수 찾기, 덧칠하기

코딩테스트 : 모의고사   문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 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 하도록..

코딩테스트 2025.02.15

커맨드 패턴(Command Pattern)

1. Command Pattern이란 ?요청을 요청에 대한 모든 정보가 포함된 객체로 변환해서 활용하는 패턴Undo 기능을 쉽게 구현 할 수 있음실행될 기능(요청)과 실행 객체의 분리가 가능하다.2. 사용 이유기능 실행 객체와 요청을 분리실행 취소 기능 구현명령 저장 용이확장성이 뛰어남이런 구조라고 생각하면 된다.  3. 활용 사례 (Unity)GUI 버튼 이벤트 처리 : 버튼 클릭 시 특정 동작을 실행하는 기능을 캡슐화해 쉽게 추가 가능Undo 기능 : 플레이어의 행동을 기록하고 이전 상태로복원작업 예약 시스템 : 특정 시간이나 조건 후 작업 실행매크로 기능 구현 : 여러 개의 명령을 하나로 묶어 실행4. 장단점기능과 요청의 분리실행취소와 재실행뛰어난 확장성지연 실행 가능 클래스 수 증가 : 모든 명령..

개념공부 2025.02.14

문자열 내 마음대로 정렬하기, 콜라 문제, 카드 뭉치

코딩테스트 : 문자열 내 마음대로 정렬하기문제 설명문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다.입출력 예stringsnretur..

코딩테스트 2025.02.13

[멋쟁이사자처럼 부트캠프 TIL회고] 74일차

오늘 배운 것1. 데이터를 가져와서 퀴즈 할당하기2. 자투리 공부  1. 데이터 가져와 퀴즈 할당.이런 CSV 파일 등을 가져와서 VS Code로 확인해보면 이런 식으로 나오게 된다.  * CSV에서는 어떤 타입으로 설정할 것인지 설정 가능하다.    데이터를 불러온 모습 데이터를 나눈 모습      public static List LoadQuizData(){ TextAsset quizDataAsset = Resources.Load("QuizData") as TextAsset; var lines = Regex.Split(quizDataAsset.text, LINE_SEPARATOR); var colHeader = Regex.Split(lines[0], QUESTION_SEPARATOR)..

TIL 2025.02.13

[멋쟁이사자처럼 부트캠프 TIL회고] 73일차 : 퀴즈 게임

오늘 배운 것1. 자투리 지식2. 퀴즈 게임 제작기 1. 자투리 지식UI 앵커 관련 - 스트레치와 미들 센터 앵커  문제 : UI가 보이지 않았음해결 : 부모의 RectTransform 변경부모가 자식을 담을 만큼 충분히 크지 못해 발생한 문제였다. 부모의 크기를 늘려주면 해결 !  * 참고 : 스트레치 앵커 : 부모의 RectTransform 영역에 맞춰 UI 요소를 늘려 채우는 방식            미들 센터 앵커 : UI 요소의 중심점을 부모 RectTransform의 중심점에 맞추는 방식 그러니까 UI 요소를 늘려 채우면 크기가 늘어나서 해결 ! 미들 센터 앵커는 중심점만을 이동시키기에 해결되지 않는다.   다만 이것 저것 실험해 보던 중 신기한 현상이 있었다.분명 부모가 자식보다 크기가 작아..

TIL 2025.02.12

클로저(Closure)

저번에도 한 번 나왔던 개념인데 이제서야 정리한다. 1. Closure 기능이란 ? 외부 함수의 변수를 내부 함수에서 참조할 수 있는 기능함수가 생성될 때 그 함수가 선언된 환경을 기억하는 것C#에서는 익명 함수 또는 로컬 함수가 클로저의 역할을 할 수 있음2. 동작 방식using System;class Program{ static Func CreateClosure() { int count = 0; // 외부 변수 return () => { count++; // 외부 변수를 내부 함수에서 변경 return count; }; } static void Main() { Func cl..

개념공부 2025.02.12

유클리드 호제법(Euclidean Algorithm)

개념두 수의 최대공약수 (GDC, Greates Common Divisor)를 구하는 알고리즘호제법 - 두 수를 나누고 나머지를 이용하는 방식원리어떤 자연수 A, B (A > B) 에 대해  A를 B로 나눈 나머지를 r이라고 할 때GDC(a,b) = GDC(b,r)이 성립한다.이를 반복하여 나머지가 0이 되면 , 그때의 나누는 수가 최대공약수이ㅏㄷ.코드 예시int GCD(int a, int b) { while (b != 0) { int temp = b; b = a % b; a = temp; } return a;}void Start() { Debug.Log(GCD(48, 18)); // 출력: 6} 예시와 같이 48 18이 있다면48 % 18 은..

간단한 수학 2025.02.12