전체 글 159

프로그래머스 입문 캘린더 100% 달성 후기로그래머스 입문 캘린더 100% 달성 후기

진행 기간 : 1월 3 ~ 1. 15일 (약 2주) 12월 첫주에 잠깐 발을 디뎠다가 기본이 너무 안되어 있고, 배우고 있는 진도를 따라가기 급급해 뒤로 미뤘었습니다..그 이후 코딩 테스트를 하루에 몇 문제라도 푸는 것이 좋다는 말을 듣고 다시 시작했습니다.아침에 일어나 아침 시간 (약 3시간)에 코딩 테스트를 진행했습니다. 중간중간 어떻게 푸는지 모르겠는 문제도 있었지만 다음날 다시 본다던가, 처음부터 다시 풀어본다거나 하는 방식으로진행하니 끝까지 풀 수 있었습니다. 캘린더 순서대로 풀지는 않았고, 정답률 순서대로 풀었습니다. 정답률이 제일 낮았던 '옹알이' 문제 때는 좀 긴장하고 풀었지만 생각보다 금세 풀려서 성장한 기분을 느낄 수 있었습니다. 마지막 2일은 IDE를 사용하지 않고 풀었더니 조금 힘들..

코딩테스트 2025.01.15

[멋쟁이사자처럼 부트캠프 TIL회고] 57일차 : 새로운 시작

오늘의 주제 : 게임 개발에 관한 이모저모 게임 소프트웨어 공학이란 ?  게임 소프트웨어 공학게임 소프트웨어를 효율적으로 개발하기 위한 학문아이디어부터 게임 출시까지의 과정을 총체즉  "재미있는 게임을 중도에 포기하지 않고 버그없이 잘 돌아가게 만드는 과정" 왜 배워야 할까 ? 다른 개발자들의 시행착오를 바탕으로 안정적인 프로젝트 진행원활한 소통, 진행 가능성 판단안정된 프로그램 구조 확립 등 게임은 일반적인 소프트웨어와는 다르다. 소프트웨어는 '요구사항'을 받아서 이를 실행할 것을 만들지만,게임의 목적은 '재미'이다.   게임 요소와 개발 과정  아이디어 : 일상적인 메모, 숙성, 추가 등을 통해 꾸준히 기록해 두는 것을 추천프로토 타입 :  기본적인 기능만 구현해 보고, 재미 없으면 과감히 폐기할 것..

TIL 2025.01.15

[멋쟁이사자처럼 부트캠프 TIL회고] 56일차 : 버그 수정과 구상

버그 수정 //원래 코드 //cameraTransform.rotation = Quaternion.Euler(eulerAngleX, eulerAngleY, 0f);transform.rotation = Quaternion.Euler(0f, eulerAngleY, 0f); // 플레이어 회전cameraTransform.localRotation = Quaternion.Euler(eulerAngleX, 0f, 0f); // 카메라 회전  원래 코드의 문제는 , 지금 캡슐의 자식 오브젝트로 카메라가 들어가 있기 때문에 어딘가에 충돌했을 경우자동으로 camerTransform.rotation이 0,0,0 상태에서 벗어나게 된다. float mouseX = lookInput.x * mouseSensitivity;flo..

TIL 2025.01.14

코딩 테스트 : 다음에 올 숫자, 연속된 수의 합, 옹알이

코딩테스트 : 다음에 올 숫자등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요.using System;public class Solution { public int solution(int[] common) { int answer = 0; if (common[2]-common[1] == common[1]-common[0]) { return common[common.Length-1] + common[2] - common[1] ; } else { int a =..

코딩테스트 2025.01.14

[멋쟁이사자처럼 부트캠프 TIL회고] 55일차 : 휴강

오늘의 목표1. 원하는 슬롯의 물품 버리기2. 물품을 버릴 때 겹치지 않게 하기 (생성 방식의 문제)3. 물품이 '사용'되는 방식 만들기4. 물품을 사용하거나 ,특정 위치에 버리면 특정 행동(열리거나 소리가 나거나 이벤트가 진행되거나) 하는 물품 만들기  1. 원하는 슬롯의 물품 버리기 구현해보고 싶은 물품을 버리는 방식에는 크게 두 가지가 있다. 커서로 드래그해서 버리거나, 마인크래프트 식으로 1,2,3,4,5로 표현해서 버리거나 하는 방식이다. 우선은 구현이 쉽다고 생각하는 마인크래프트 식의 방식으로 구현해보고, 시간이 남는다면 다른 방법을 도전해볼 것이다. if (inventory.gameObject.activeInHierarchy){ inventory.HandleSelotSlection();..

TIL 2025.01.13

코딩 테스트 : 종이 자르기, 로그인 성공, 치킨 쿠폰, 등수 매기기, 특이한 정렬, 문자 밀기

코딩테스트 : 종이 자르기머쓱이는 큰 종이를 1 x 1 크기로 자르려고 합니다. 예를 들어 2 x 2 크기의 종이를 1 x 1 크기로 자르려면 최소 가위질 세 번이 필요합니다.정수 M, N이 매개변수로 주어질 때, M x N 크기의 종이를 최소로 가위질 해야하는 횟수를 return 하도록 solution 함수를 완성해보세요using System;public class Solution { public int solution(int M, int N) { int answer = 0; answer = (M * N) - 1; return answer; }} 이게 왜 정답률이 72%.... ? 풀어 놓고서도 어떤 예외가 있으면 안되는걸까 ? 하..

코딩테스트 2025.01.13

[멋쟁이사자처럼 부트캠프 TIL회고] 53일차 : 일요일은 쉬는날

코딩테스트 : 겹치는 선분의 길선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가 [[start, end], [start, end], [start, end]] 형태로 들어있는 2차원 배열 lines가 매개변수로 주어질 때, 두 개 이상의 선분이 겹치는 부분의 길이를 return 하도록 solution 함수를 완성해보세요. lines가 [[0, 2], [-3, -1], [-2, 1]]일 때 그림으로 나타내면 다음과 같습니다.선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다.using System;using System.Collections.Generic;public class Solution { public int solution(int[,] lin..

TIL 2025.01.13

[멋쟁이사자처럼 부트캠프 TIL회고] 52일차 : 혼자 공부하기는 즐거워(아님)

코딩테스트 : 외계어 사전PROGRAMMERS-962 행성에 불시착한 우주비행사 머쓱이는 외계행성의 언어를 공부하려고 합니다. 알파벳이 담긴 배열 spell과 외계어 사전 dic이 매개변수로 주어집니다. spell에 담긴 알파벳을 한번씩만 모두 사용한 단어가 dic에 존재한다면 1, 존재하지 않는다면 2를 return하도록 solution 함수를 완성해주세요.using System;using System.Reflection;public class Solution{ public int solution(string[] spell, string[] dic) { int answer = 2; //dic에 있는 모든 원소를 검사함. for (int i = 0; i  ..

TIL 2025.01.12

[멋쟁이사자처럼 부트캠프 TIL회고] 51일차 : 스스로 공부하기

아이템 습득 구현 목표 1인칭 시점에 맞는 조작 구현커서 만들기아이템에 커서를 대면 아이템 정보가 나오게 만들기아이템 정보가 뜨고 있을 떄 습득 키(E)를 누르면 "아이템 습득" 로그 찍기아이템 정보를 연동해 인벤토리에 연동하기 1. 1인칭 시점에 맞는 조작 구현하고 '마우스 움직임'으로 회전을 조작하는 방식은 익숙하지 않았다. '이동'관련 코딩은 몇 번 해봤음에도 오래걸렸다.  단순히 목표 오브젝트의 방향대로 힘을 가하거나, 이동을 시키는 것이 아닌 '바라보는 방향' 기준으로 조작해야 한다. public void Move(Vector2 moveInput){ Vector3 forward = cameraTransform.forward; Vector3 right = cameraTransform.rig..

TIL 2025.01.11

디자인 패턴 : 비지터 패턴 (Visitor Pattern)

Vistor Pattern'방문자'라는 뜻, 방문자는 어떤 장소에 방문했을 때 장소를 변경시키지 않고 정보를 가져옴특정 객체 구조를 변경시키지 않고 정보를 참고하고 싶을때 사용구현  Ivisitor 인터페이스로 구체적인 요소들에 접근할 visit 함수를 매개변수를 달리해 만듬 방문을 받고자 하는 요소들을 표시해주기 위해 IElement 인터페이스를 만들고, 방문 가능한(데이터를 얻고싶은) 클래스들에 인터페이스로 추가각 클래스(요소)들은 인터페이스를 상속받아 Ivisitor 타입을 매개변수로 받는 Accept 함수 생성구체적 visitor 클래스에서 데이터를 가져와 어떤 가공을 할 지를 정함( 할인과 같은 기능) 장점구체적 클래스(요소)들의 객체 구조를 변화시키지 않음IElement를 상속받고, Accep..

개념공부 2025.01.10