본문 바로가기
반응형

전체 글553

C# - 퀵 정렬(Quick Sort) 퀵정렬(Quick Sort) 퀵 정렬에서는 피벗(Pivot)을 기준으로 배열을 분할하고, 각 부분 배열에 대해 정렬 작업을 수행하지만 피벗을 다시 처리하는 부분 문제는 호출하지 않는다. 한 번 피벗의 위치가 정해지면 해당 피벗은 정렬이 완료된 것으로 취급되어 중복 계산이 발생하지 않는다. 핵심 : 키 값을 잡아 더 큰것과 더 작은것 바꾸기 01 피벗 선택 퀵 정렬의 핵심은 피벗(pivot)을 선택하는 것이다. 피벗은 배열의 원소 중에서 하나를 선택한다. 피벗 선택의 효율성이 정렬 속도에 영향을 미친다. 02 분할 선택된 피벗을 기준으로 배열을 두 부분으로 분할한다. 피벗보다 작은 값은 피벗의 왼쪽으로, 큰 값은 피벗의 오른쪽으로 배치된다. 분할 과정 후에는 피벗의 위치가 최종적으로 결정된다. 03 정복 .. 2023. 11. 27.
백준 C# - 11653 소인수 개념만 알면 금방 풀 수 있는 문제이다. 코드 전문 using System; namespace baek2 { class Program { static void Main(string[] args) { int n = int.Parse(Console.ReadLine()); int a = 2; for(int i = 0; i 2023. 11. 27.
백준 C# - 11576 +)풀이 문제를 푸는 시간보다 문제를 이해하는 시간이 더 오래 걸린 문제였다. 예제를 이용해서 문제를 이해해보자 17 8 2 2 16 01 첫 줄 17은 진법 A, 8은 진법 B이다. 02 두번째 줄 입력에 나오는 설명은 A진법으로 나타낸 숫자의 자리수의 개수 m이라고 하는데 무슨 말인지 이해가 안갔다. 그냥 간단하게 변환해야할 숫자의 개수이다. 03 세번째 줄 두번째 줄에서 변화해야할 수의 갯수를 받았으니까 해당 하는 수들이다. 풀이 01 A진법을 10진수로 변환 string[] token = Console.ReadLine().Split(); int a = int.Parse(token[0]); int b = int.Parse(token[1]); int m = int.Parse(Console.ReadLine()).. 2023. 11. 27.
백준 C# - 17103 +) 풀이 이 문제를 알기 앞서 에라토스테네스의 체를 알아야 한다. 그래서 아래 문제를 먼저 풀고 오는 것을 추천한다. 백준 C# - 1929 백준 C# - 1929 +) 에라토스테네스의 체 풀이 처음에 1978과 같은 형식으로 문제를 풀었는데 계속 시간초과가 나왔다. 백준 C# - 1978 +) 풀이 풀이 소수 찾기 문제이다. 소수는 1과 자기 자신 만을 약수로 가지는 수이다. 01 1은 소수가 아니 code-piggy.tistory.com 01 에라토스테네스의 체 위의 링크에 에로트세테스의 체에 관련된 설명을 확인할 수 있다. bool[] isPrime = Enumerable.Repeat(true, 1000000 + 1).ToArray(); for (int i = 2; i * i 2023. 11. 26.
컴퓨터 구조 - 클럭, 코어와 멀티코어, 스레드와 멀티스레드 클럭(Clock) CPU는 명령어를 실행하기 위해 명령어 사이클이라는 과정을 따른다. 명령어 사이클은 명령어를 메모리에서 가져오고, 해당 명령어를 해석하며, 실행하고, 결과를 저장하는 단계로 구성된다. 클럭은 이러한 명령어 사이클을 일관되게 제어하여 CPU의 작동을 동기화한다. 각 명령어는 클럭 주기에 따라 수행되며, 명령어의 실행이 끝나면 다음 명령어를 수행한다. 클럭 신호 클럭 신호는 일정한 주기로 변하는 신호로, CPU의 모든 동작은 클럭의 신호에 따라 동작한다. 클럭의 주기는 시스템의 성능과 전력 소모에 영향을 미치므로, 클럭 주기를 어떻게 설정하느냐가 중요다 클럭 속도 헤르츠(Hz)단위로 측정한다. 이는 1초에 클럭이 몇 번 반복되는지 나타낸다. 클럭이 똑-딱하고 1초에 한번 반복되면 CPU클럭.. 2023. 11. 24.
Unity - 버튼이 클릭이 안되는 경우(EventSystem, UI 겹침, Panel겹침) 01 EventSystem이 있는지 확인하자 EventSystem이 없다면 UI 이벤트를 인식하지 못하므로 버튼이 작동하지 않는다. 02 다른 UI와 겹쳐져 있는지 확인하자 만약 다른 UI와 겹쳐져있는 경우 겹치지않게 수정하거나 레이어를 이용해서 순서를 조정하자 03 다른 Panel안에 들어가있는지 확인하자 만약 부모 패널안에 자식패널안에 있는 버튼일 경우 부모 패널이 자식 패널의 이벤트를 가져갈 수 있다. 그러므로 패널을 분리하거나 분리하기 싫다면 Sorting Order를 통해 순서를 정하거나 부모의 패널의 RayCast를 해제하면서 이벤트를 무시시킬 수 있다. 2023. 11. 23.
반응형