1. Attribute란? Attribute는 코드에 추가적인 정보를 연결하는 기능이다. 코드에 특정 정보를 연결할 수 있기 때문에 Attribute로 재사용이 가능한 기능을 구현할 수 있다. C#에서 기본적으로 제공해 주는 몇 가지 Attribute를 보면서 Attribute에 대해 이해해 보자! 1-1. [ObsoleteAttribute] ...
[C#] Attribute
[C++] explicit
explicit 란? explicit로 선언된 생성자는 암시적인 타입 변환을 수행하지 않게 된다. (명시적인 타입 변환은 수행한다.) 사용하는 이유 프로그래머가 예상하지 못한 타입 변환을 막아준다. 예상하지 못한 타입 변환은 무엇일까?? 아래 코드를 확인해 보자 예제 코드(explicit 미사용) #include <iostream&...
[C# 프로그래머스] 무인도 여행
문제 링크 프로그래머스 자세한 문제 설명은 링크를 통해 확인하자!! 풀이법 풀이는 너비우선탐색(BFS)으로 풀었다. 개인적으로 깊이우선탐색(DFS)보단 너비우선탐색(BFS)를 선호한다. 입출력 예제로 준 예시를 보면서 설명하겠다. 좌측 상단부터 우측으로 하나씩 확인하면서 우측 하단까지 탐색할 것이고 처음으로 발견한 숫자...
[C# 프로그래머스] 연속된 수의 합
문제 링크 프로그래머스 1. 문제 설명 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. 입출력 예 num ...
[C# 프로그래머스] 다음에 올 숫자
문제 링크 프로그래머스 1. 문제 설명 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 제한 사항 2 < common의 길이 < 1,000 -1,000 < common의 원소 < 2,000 ...
[C# 프로그래머스] 옹알이(1)
문제 링크 프로그래머스 1. 문제 설명 머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 “aya”, “ye”, “woo”, “ma” 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return...
[Unity] 캣멀롬 스플라인(Catmull–Rom spline) 구현해보기
유니티 2022 버전에서 스플라인(spline) 기능이 새로 생겼는데 곡선의 종류를 선택하는 것에 베지어 곡선과 캣멀롬 스플라인이 있었다. 베지어 곡선은 근사 곡선인데 반해 캣멀롬 스플라인은 보간 곡선이기 때문에 관심이 생겼고 직접 구현해보면서 정리를 하게 되었다. 근사 곡선? 보간 곡선? 이 뭔지 궁금하다면 1. 캣멀롬 스플라인(Ca...
스플라인 곡선(Spline Curve) 정리
1. 스플라인 곡선 위키 백과: 스플라인 곡선 스플라인 곡선(영어: spline curve)은 주어진 복수의 제어점을 통과하는 부드러운 곡선으로, 인접한 두 점 사이에의 구간마다 별도의 다항식을 이용해 곡선을 정의한다. 출처: 위키 백과(스플라인 곡선) 위키 백과 설명 중에 “인접한 두 점 사이에 구간마다 별도의 다항식을 이용해 곡...
[Unity] 베지어 곡선(Bezier Curves) 구현해보기
게임을 개발하다보면 곡선을 그려야 할 때가 자주 있다. 곡선을 그리는 방법이 다양하게 있는데 그 중 베지어 곡선(Bezier Curves)에 대해 알아보자 1. 베지어 곡선이란 점과 점 사이의 선형 보간을 통해 그리는 곡선 이라 볼 수 있다. 예를 들어, 점 A, B, C가 있을 때 - A 와 B 의 선형 보간 값 D - B 와 C 의 ...
[Unity Editor] OnValidate()를 이용하여 인스펙터 관리하기
유니티 인스펙터를 통해 데이터를 관리하다 보면 컬렉션 개수를 제한한다거나 특정 값을 넣지 못하게 한다거나 하고 싶을 때가 있다. 이때 에디터 코드나 Attribute를 이용해서 막는 방법도 있지만 MonoBehaviour.OnValidate()를 이용해서 처리하는 방법을 발견해서 정리하였다. 1. MonoBehaviour.OnValidate() ...