본문 바로가기

반응형

C#

[유니티] Time.deltaTime이란? FPS의 의미 FPS(Frames Per Second)는 초당 프레임 수로 1초에 몇개의 프레임이 나타나는지를 의미한다. ex) FPS가 60이라면 1초에 60개의 프레임이 나타난다는 의미이다. Time.deltaTime이란? Time.deltaTime는 시간 개념으로 각 프레임을 렌더링하는데 걸리는 시간을 계산하는 Unity 함수이다. 프레임이 바뀔때마다의 시간을 측정한 값이 Time.deltaTime으로 나타난다. (자료형은 float형이다) ex) FPS가 100이라면 1초에 100번 프레임이 바뀌는 것이고 한 프레임이 바뀌는 시간은 100분의 1초인 0.01초를 의미한다. 이때 Time.deltaTime는 0.01초가 된다. FPS가 50이라면 1초에 50번 프레임이 바뀌는 것이고 한 프레임이 바.. 더보기
큐( queue )의 구현과 메소드 사용 [C#] 큐 ( queue ) 요소가 한쪽 끝(후면)에서 추가되고 다른 쪽 끝(전면)에서 제거되는 요소 컬렉션을 나타내는 추상 데이터 유형 대기열은 FIFO(First In First Out,선입선출) 원칙을 따른다. 즉, 먼저 추가된 요소가 먼저 제거된다. c#에는 고맙게도 Queue 클래스가 구현 되어있다. 이때 T는 큐에 저장된 요소의 유형이다. 큐 구현 및 메소드 사용 1. 큐 구현 Queue queue = new Queue(); 2.큐 삽입 queue.Enqueue(10); queue.Enqueue(20); queue.Enqueue(30); 3. 큐 제거 int firstItem = queue.Dequeue(); 이때 queue.Dequeue();는 제거 된 요소 값을 반환하므로 fisrtItem 변수에.. 더보기
정렬 알고리즘 시간 복잡도, 공간 복잡도와 구현 정렬 알고리즘의 종류와 시간복잡도 백준 알고리즘에서 실버단계로 올라가면서 점점 알고리즘을 공부해야 한다는 필요성을 느꼈다. 그래서 가장 기본적인 정렬알고리즘에 대해 정리를 해보고 예시들도 풀어보았다. 우선 정렬알고리즘 종류와 시간 복잡도를 나타냈다. 언어는 c#이다. 위의 사진은 최악의 경우 시간복잡도 기준으로 맨위가 가장 느린순이다. 버블,삽입,선택,퀵은 O(n*n)이므로 모두 느린 정렬이다. 단순하지만 비효율적 정렬 버블 정렬, 삽입 정렬, 선택정렬 복잡하지만 효율적 정렬 퀵 정렬, 쉘 정렬, 힙 정렬, 병합정렬 이번 블로그에서는 단순하지만 비효율적인 정렬을구현을 해보았다. 복잡하지만 효율적 정렬은 아래 링크에 작성해놨다. 정렬 알고리즘 시간 복잡도, 공간 복잡도와 구현(복잡하지만 효율적 정렬) 정렬.. 더보기
[c#]백준 알고리즘 1181 - 단어 정렬(sort 사용법) 이번 알고리즘을 풀면서 정렬에 대한 이해도가 조금 올라갔다. 사실 이미 .net에서 sort()라고 배열 정렬 메서드를 제공해주고 있다. 그래서 sort()사용법을 조금 더 깊게 알아보았다. 내가 스스로 알고리즘을 사용하는것도 좋지만 매번 내가 알고리즘을 작성하는 것보다 제공되는 메서드를 잘 사용하는게 더 효율적이라고 생각된다. 문제 알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 1. 길이가 짧은 것부터 2. 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 입력 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다... 더보기
(C#) AI와의 대결 : 백준 알고리즘 2741번 Chat-GPT와 코드 비교 이번에는 다소 당황스러운 문제를 가지고 왔다. 문제 난이도는 브론즈 5로 어려운 문제는 아닌데 C#언어를 다루는 사람입장에서는 다소 당황스러웠다. 전체 정답비율이 56퍼인데 반해 C#하는 사람들의 제출결과는 반타작도 되지 못한다. 왜 그런지 같이 살펴보자. 백준 2741번 문제 문제 : 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 : 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 문제풀이 문제는 사실 반복문만 알고있으면 바로 풀수있는 정도의 문제이다. 밑의 코드로 작성해서 채점을 한 결과.. 계속 시간초과가 났다. int num = Int32.Parse(Console.ReadLin.. 더보기
(C#) AI와의 대결 : 백준 알고리즘 1001번 Chat-GPT와 코드 비교 이번에는 백준알고리즘 1001번 문제이다. Chat-GPT를 사용하여 질문을하는게 낮설다보니 질문에 따라 답이 다르게 나온다. 이번 블로그 글을 작성하기 위해 질문을 했을때 내가 원하는 결과가 나오지 않았지만 질문을 추가하니 꽤나 블로그 글 같아졌다. 백준 1001번 문제 문제 : 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 : 첫째 줄에 A-B를 출력한다. 문제풀이 밑에서 부턴 Chat-GPT에게 블로그글을 써보라고 시켜본 결과이다. Chat-GPT에게 물어본 문장- [처음] 문제 : 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진.. 더보기
(C#) AI와의 대결 : 백준 알고리즘 1000번 Chat-GPT와 코드 비교 최근에 나는 백준 알고리즘을 풀기 시작했다. 그래서 내가 푼 알고리즘을 블로그에 올려야지 생각을 했다가 미루기만했다. 최근 chat-GPT에 대한 관심이 많아졌고 이를 이용할 방법을 찾다가 둘다 사용할 법을 찾았다. 이제 내가 귀찮게 구글에 검색하고 조사할 필요없이 Chat-GPT를 사용하려 꾸준하게 블로그를 쓸 예정이다. 백준 1000번문제 문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 : 첫째 줄에 A+B를 출력한다. 문제풀이 밑에서 부턴 Chat-GPT에게 블로그글을 써보라고 시켜본 결과이다. Chat-GPT에게 물어본 문장 블로그에 내가 푼 알고리즘 문제와 너가 푼알고리즘 문제를 비교.. 더보기

반응형