NYPC 2023 넥슨 청소년 프로그래밍 챌린지NEXON YOUTH PROGRAMMING CHALLENGE, 세상을 바꾸는 코딩! 세상을 더 멋지게 바꿀 당신을 만나고 싶습니다.www.nypc.co.kr 메이플스토리에 존재하는 모든 모험가 직업과, 당신이 키워본 모험가 직업이 주어졌을 때새로 키워볼 수 있는 모험가 직업을 모두 나열하는 프로그램이다. 맵과 셋을 이용해 구현해보았다. 셋으로 구현 #include #include #include using namespace std;int main(){ set m; int n; //총 직업 수 cin >> n; for (int i = 0; i > a; m.insert(a); } cin >> n; //내가 고른 직업..
분류 전체보기
https://wonseok1112.tistory.com/7 [C#] 값 형식과 참조 형식C#에서는 데이터를 메모리에 저장하는 방식이 두가지로 나뉜다. 값 형식과 참조 형식이다. 값 형식은 데이터를 저장할 때 스택(stack) 메모리에 저장하고 참조 형식은 데이터를 저장할 때 힙(heap)wonseok1112.tistory.com값 형식과 참조 형식에 대한 글 참고 C#에서 메소드를 호출 할 때 필요한 값을 전달해주기 위해 매개변수에 값을 넣어 전달해준다.그러나 값 형식은 전에 알아봤듯이 메모리 저장 방식이 달라서 원본값을 바꾸지 못한다. 매개변수로 전달 시에 해당 인자의 값을 복사하여 전달하기 때문.이것을 값의 의한 호출이라고 하고,원본을 바꾸기 위해선 참조 형식만 할 수 있는 참조에 의한 호출을 ..
C#에서는 데이터를 메모리에 저장하는 방식이 두가지로 나뉜다. 값 형식과 참조 형식이다. 값 형식은 데이터를 저장할 때 스택(stack) 메모리에 저장하고 참조 형식은 데이터를 저장할 때 힙(heap) 메모리에 저장한다. 값 형식 예시 값 형식의 자료형 중 하나인 int 변수 num을 생성하고 6을 할당한다. int 변수 num2을 생성하고 num2에 num을 할당한다. 마지막으로 num2에 10을 추가로 할당하고 num1, num2을 출력했다. num2값만 바꿨으니 예상대로 6이 출력이 된다. 참조 형식 예시 int 변수 대신 참조 형식의 자료형 중 하나인 array(배열) 변수를 사용하여 위와 똑같이 코드를 구성하고 실행해보았다. 위의 값 형식과 똑같이 코드를 구성하고 실행했는데 결과가 다르다. ar..
C# / Unity에서 일반화란 특수한 개념으로부터 공통되는 개념을 찾아 묶어 일반화 시키는 것이다.일반화 하는 대상은 데이터 형식(type)이다. 일반화를 할 때 object 형식을 쓰는 것이 편리하다.object 데이터 형식을 이용하면 여러 데이터를 한 변수에 저장 가능하기 때문. 위와 같이 int형 배열에는 string타입을 넣을 수 없다.하지만 위에서 설명한 object 형식으로 배열 타입을 지정해준다면 다양한 타입을 다 넣을 수 있다. 이때 내부적으로 박싱 / 언박싱이 일어나게 된다.하지만 object 형식은 박싱 / 언박싱을 할 때의 속도 저하로 인해 쓰이지 않는다.또한 데이터 형식을 명확하게 알 수 없다는 단점도 있다. int num1 = 1;object obj = num1; //박싱i..
일반 싱글톤으로 매니저급 클래스를 만들 때 public class GameManager : MonoBehaviour { public static GameManager Instance; private void Awake() { if (Instance == null) { Instance = this; } } } 이런식으로 인스턴스를 만들어 다른 스크립트에서도 사용할 수 있게 하였다. 하지만 GameManager, SoundManager, UIManager 등등 씬에 여러개의 싱글톤이 존재할 때 위의 코드를 각각 작성해야 하는 번거로움이 생긴다. 이 문제를 해결해주는 방법이 모노 싱글톤을 사용하는 것이다. 아래는 제네릭을 사용하여 만든 모노 싱글톤 코드이다. public class MonoSingleton :..
public class PropertyTest : MonoBehaviour { private int age; public int GetAge() { return age; } public void SetAge(int num) { this.age = num; } } private으로 설정되어있는 변수 age를 다른 스크립트에서 접근하기 위해서는 값을 가져오는 GetAge 함수, 값을 넘겨주어 대입시키는(설정해주는) SetAge 함수를 만들어야 했다. public class PropertyExample : MonoBehaviour { public PropertyTest test; private void Start() { int age = test.GetAge(); //새로운 int형 변수 age에 test의 ..