전체 글(66)
-
C# 유클리드 호제법
유크리드 호제법 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘 a > b 보다 크다는 가정하에 a와 b의 나머지를 r이라 할때 a 와 b의 최대공약수와 b 와 r의 최대공약수는 같다. 따라서 b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다 결론은 재귀로 구한다고 할때 두 정수 int a int b가 있고 a % b 가 나누어 떨어지면 최대공약수는 a인것이고 나누어 떨어지지 않는다면 b , a % b 를 다시 호출한다. 재귀를 이용한 코드 static int Gcd(int a, int b) { if (b == 0) { return a; } else { return Gcd(b, a % b);..
2024.04.01 -
New InputSystem (2)
이제는 적용방법을 이야기해보겠다. 설정은 완료했으니 이제 적용을 해야된다. 현재 하이라키뷰에 있는 오브젝트들중에 입력값을 받아야 하는 오브젝트에다 Player Input 컴포넌트를 추가해야한다. 추가한 후에 Actions는 현재 우리가 InputSystem을 생성한 에셋을 넣고 DafultMap 우리가 작동해야하는 ActionMpas를 넣으면된다. 여기서 Behavior부분이 있는데 여기서 분류를 할수있다. Send Messages , Broadcast Messages : 유니티의 Send Messages 기능을 사용 Invoke Unity Events, Invoke C Sharp Events : C#의 이벤트 기능을 사용 Send Massages 특정 키가 들어오면 특정 함수를 호출해주는 방식 Broa..
2024.03.24 -
New InputSystem (1)
유니티의 InputSystem은 원래 Input을 string을 받아서 입력을해야해서 항상 Update로 입력을 해야했지만 InputAction은 유니티에서 새로 내논 시스템으로 업데이트식이 아닌 이벤트로 받아오는 형식이라 더 효율적이라 볼수있다. 지금은 내가 프로젝트를 하나 만들려고 비슷한 게임의 강의를 듣고있는데 이 강의는 좀 오래된거라 InputAction을 안써서 한번 고쳐보도록 하겠다. 인풋 시스템은 PackageManager에서 InputSystem을 받고 Assets - Create - InputAction을 눌러 생성할수 있다. 여기서는 Auto Save를 체크하면 자동으로 키설정이 세이브가 된다. 그러면 이런창이 뜰탠데 Actions에서 +키를 누르고 새로 빌딩을 하면 매핑을 할수있는 녹..
2024.03.24 -
C# 백준 9095 1, 2, 3 더하기
1, 2, 3 더하기 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 (추가 시간 없음) 512 MB 118994 78616 54311 64.593% 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 예제 입력 1 3 ..
2024.03.19 -
C# 백준 1914 하노이 탑
하노이 탑 시간 제한메모리 제한제출정답맞힌 사람정답 비율 6 초 128 MB 34601 7430 5697 23.600% 문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 100)이 주어진다. 출력 첫째 줄에..
2024.03.19 -
C# 백준 15486 퇴사2
퇴사 2 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 24428 9873 7051 38.876% 문제 상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다. 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. N = 7인 경우에 다음과 같은 상담 일정표를 보자. 1일 2일 3일 4일 5일 6일 7일 3 5 1 1 2 4 2 10 20 10 20 15 40 200 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했..
2024.03.17