전체 글 101

[프로그래머스/C#] N으로 표현

문제 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 using System; using System.Collections.Generic; public class Solution { public int solution(int N, int number) { int answer = 0; List dp = new List(); HashSet hs = new HashSet(); int temp = 0; for(int i=0;i

[C#] 스레드(Thread) 사용하기 - 생성, 일시 중단, 중단, 백그라운드 스레드

스레드(Thread) 스레드(Thread)란 프로세스 내부에서 수행되는 작업 단위를 의미하며, 프로세스는 하나 이상의 스레드를 가지고 있다. 스레드는 비동기식(asynchronous)으로 수행되어 동시에 처리되는 병렬성을 가지고 있다. 스레드 사용하기 C#을 사용하여 스레드를 사용하는 법에 대해 알아보자. 스레드 생성 스레드 사용을 위해 System.Threading 네임스페이스 추가한다. Thread thr을 생성과 동시에 초기화해준다. 스레드 생성자의 매개변수는 ThreadStart의 대리자인 메서드이며 매개변수를 필요로 하는 메서드는 Start()메서드에 인자를 넣어 호출하면 된다. 대리자의 매개변수의 타입은 object로 한다(안그러면 에러남) 대리자의 매개변수가 없는 경우 이때는 인자 없이 St..

개발언어/C# 2024.04.18

[자료구조] 스택(Stack)

스택(Stack) 자료구조의 한 종류로 나중에 삽입된 원소가 먼저 삭제되는 LIFO(Last In First Out) 성질을 가지고 있다. 스택에서 연산이 일어나는 끝 부분을 top이라고 하며, top에서 삽입(push), 삭제(pop)가 일어난다. 시스템에서는 함수 호출이 일어난 이후 가장 최근 호출된 함수로 돌아가기 위해서 사용된다. =>스택 메모리의 스택이 이 녀석임. 스택(Stack) 구현: 배열 배열로 구현된 코드는 다음과 같다. #define MAX_SIZE 1000 #include using namespace std; int stack[MAX_SIZE]; int top = 0; bool IsEmpty(); bool IsFull(); void Push(int num); int Pop(); in..

CS/자료구조 2024.04.12

[Unity] 유니티 생명 주기(Life Cycle)

https://docs.unity3d.com/kr/2019.4/Manual/ExecutionOrder.html 이벤트 함수의 실행 순서 - Unity 매뉴얼 Unity 스크립트를 실행하면 사전에 지정한 순서대로 여러 개의 이벤트 함수가 실행됩니다. 이 페이지에서는 이러한 이벤트 함수를 소개하고 실행 시퀀스에 어떻게 포함되는지 설명합니다. docs.unity3d.com 다음 사이트를 참고하여 작성하였습니다. 공부용으로 작성한 글이므로 오류가 있을 수 있습니다. 유니티 생명주기 유니티 스크립트에서 실행 되는 여러 개의 이벤트 함수의 순서. 유니티 스크립트가 실행 되는 동안 이벤트 함수들이 순서대로 실행되는 과정을 의미한다. 유니티 생명주기는 다음과 같은 과정으로 이루어져 있다. 1) Awake Start 함..

Unity 2024.04.12

[C#] Class vs Struct

정의 class 객체 지향 언어에서 사용되는 중요한 형식으로, 객체를 만드는 틀 역할을 한다. 생성자, 멤버변수, 메서드로 이루어져 있다. 상속을 통해 클래스를 확장할 수 있다. struct 여러 타입의 변수를 저장하고 이를 하나의 타입으로써 사용할 수 있는 사용자 정의 타입 클래스와 마찬가지로 생성자, 멤버변수, 메서드를 가질 수 있다. 차이점 1) 형식 차이 class는 참조 형식인 반면 struct는 값 형식이다. *참조형식: 힙(Heap)에 값이 저장되어 프로그램이 종료될 때까지 메모리에 남아있다. 힙(Heap)에 저장되어 있는 값의 주소가 스택(Stack)에 저장되어 있다. 힙(Heap)에 메모리를 할당하기 위해서는 new 연산자가 필요하다. *값형식: 스택(Stack)에 값이 저장되어 해당 메..

개발언어/C# 2024.04.12

[프로그래머스/C#] 점프와 순간 이동

문제 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 오류났던 코드 using System; class Solution { const int MAXVALUE = 1000000001; int[] weight = new int[MAXVALUE]; bool[] visited = new bool[MAXVALUE]; public int solution(int n) { for(int i=0;i

[알고리즘] 다익스트라(Dijkstra) 알고리즘

다익스트라(Dijkstra) 알고리즘이란? 최단 경로를 구하는 알고리즘 중 하나. 단일 소스(하나의 노드)로부터 출발하여 나머지 노드까지 가는 데 최단 경로를 구하는 방법이다. 단, 음수 가중치가 있을 경우에는 사용 불가 알고리즘 동작 방식 다익스트라 알고리즘은 하나의 노드에서 그 노드와 가장 가까운 경로를 fix하는 데서 출발한다. 최소 신장 트리를 찾는 알고리즘 중 prim 알고리즘과 유사한데, 차이점이 있다면 prim은 현재 노드에서 가중치가 적은 노드를 찾는 반면 다익스트라는 시작 노드로부터 가중치가 적은 경로의 노드를 골라야 한다는 데에 있다. 좀 더 쉬운 이해를 위해 예시를 보도록 하자. 0 1 2 3 4 5 6 0 4 2 1 INF INF INF 시작노드 0을 기준으로 나머지 노드로의 가중치..

CS/알고리즘 2024.04.08

[프로그래머스/C#] 괄호 회전하기

문제 https://school.programmers.co.kr/learn/courses/30/lessons/76502# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 using System; using System.Collections.Generic; public class Solution { public int solution(string s) { int answer = 0; Dictionary d = new Dictionary(){{')', '('}, {']', '['}, {'}', '{'}}; int size = s.Length; for(in..