반응형

C# 5

[프로그래머스 131130] 혼자 놀기의 달인 C#

문제 프로그래머스 131130 혼자 놀기의 달인 C# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제 설명이 너무 장황하게 되어 있어서... 처음에 독해가 힘들었는데 그냥 간단히 말하면 카드에 적혀있는 숫자를 인덱스로 생각해서 루프를 돌고, 루프 중 제일 긴 것과 그 다음으로 긴 것의 곱만 구하면 되는 문제이다. 루프를 돌 때 어디를 출발지점으로 지정하느냐가 중요할 거 같았는데 생각해보니 카드 숫자는 중복이 없으므로 무조건 순회하는 루프를 만들게 된다. (즉, 루프의 어디서든 시작해도 길이가 항상 똑같음) 그래서 방문 체크를 하는 리스트 visi..

[Unity] Gpt를 활용한 가변 슬라이더 만들기

개요 가변 슬라이더를 만들어야 했는데... 다 만들고 난 뒤 GPT를 사용해 리팩토링한 경험을 공유한다. 니즈 원래 위와 같은 슬라이더가 있었다. 작은 흰색 동그라미가 50 단위로 있었는데, 보상 단위마다는 흰색 큰 동그라미를 넣어주었다. 이 슬라이더를 보상 간격이 일정하게 바꿔달라고 요청이 들어왔는데, 그러면 보상 단위마다 슬라이더가 차는 비율을 조정해야했다. 구현 QuestData = 현재 퀘스트 정보를 저장하고 있는 클래스 rewardData = 포인트 리워드 정보를 가지고 있는 클래스 int rewardDatesLength = rewardDatas.Count(); int rewardStep = 0; for (int idx = 0; idx < rewardDatesLength; idx++) { if ..

게임 엔진/Unity 2023.07.19

[C#] 프로퍼티

개요 객체 지향 프로그래밍에서, 은닉성 때문에 Get함수와 Set함수를 사용한다. C++에는 없고, C#에는 있는 프로퍼티 기능을 사용하면 이를 간단하게 줄일 수 있다. 설명 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 using System; namespace CSharp { class Program { class Monster { private int hp = 100; public int GetHp() { return hp; } public void SetHp(int value) { hp = value; } } static void Main(string[] args) { Monster monster = new Monster(); monster.SetHp(..

언어/C# 2022.09.24

[C#] Static

개요 Static 필드는 인스턴스를 생성할 때마다 메모리에 새로 생성되는 Non-static 필드들과 다르게 프로그램 실행 후 해당 클래스가 처음으로 사용될 때 한 번 초기화되어 동일한 메모리를 사용한다. Static 변수 (정적 변수)는 인스턴스에 종속적이지 않고 클래스에 종속적인 변수이다. 호출 시에는 [클래스명.변수 이름]으로 호출한다. Static 메서드 (정적 함수) 또한 인스턴스에 종속적이지 않고 클래스에 종속적인 메서드이다. 마찬가지로 호출 시에는 [클래스명.메서드 이름]으로 호출한다. Static 메서드에서는 정적 변수가 아닌 일반 멤버 변수를 호출할 수는 없다. Static 클래스 (정적 클래스)는 모든 클래스 멤버가 static으로 선언되어야 하고 생성자를 만들 수 없다. (Static..

언어/C# 2021.10.14

함수 오버로딩 (Function overloading)

개요 함수 오버로딩(Function overlaoding) : C#, C++, 자바 등에서의 함수의 특징. 같은 함수 이름을 가지고 있으나 매개변수, 리턴타입 등의 특징은 다른 여러개의 서브프로그램 생성을 가능하게 한다. 조건 다음 중 하나를 만족해야 한다. 1. 매개변수의 자료형이 달라야 한다. 2. 매개변수의 개수가 달라야 한다. 주의점 1. 반환타입은 오버로딩에서 고려되지 않는다. 2. 모호한 함수가 있을 경우 컴파일 에러가 발생한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include using namespace std; void print(unsigned int value) { cout

언어 2021.09.26
반응형