전체 글 216

[백준] 11047번 : 동전 0 - Swift

문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 import Foundation let arr = readLine()?.split(separator: " ").map{Int($0)} let n = arr![0] var k = arr![1] var result = 0 var list = [Int]() for _ in 0..

[백준] 6549번 : 히스토그램에서 가장 큰 직사각형 - Swift

문제 https://www.acmicpc.net/problem/6549 6549번: 히스토그램에서 가장 큰 직사각형 입력은 테스트 케이스 여러 개로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, 직사각형의 수 n이 가장 처음으로 주어진다. (1 ≤ n ≤ 100,000) 그 다음 n개의 정수 h1, ..., hn (0 ≤ hi ≤ www.acmicpc.net 코드 import Foundation var list = [Int]() while(true) { let arr = readLine()?.split(separator: " ").map{Int($0)} let num = arr![0] if(num == 0){break} list = [Int](repeating: 0, count: num!)..

[백준] 2579번 : 계단 오르기 - Swift

문제 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 코드 var num = Int(readLine()!) var arr = [Int]() var dp = [Int](repeating: 0, count: num!) for i in 0 ..< num! { let input = Int(readLine()!) arr.append(input!) if i == 0{dp[0] = arr[0]} else if i == 1 {dp[1] = max(dp[0]+arr[1],..

[백준] 1463번 : 1로 만들기 - Swift

문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 코드 1년전에는 Dynamic Programming에 대해서 아는 것이 없었다. 처음에는 반복문을 통해서 C++로 풀었다. 물론 틀렸다!🤦🏻‍♀️ 이 문제는 DP로 Bottom-up 방식으로 풀어야한다. Swift로 작성한 코드는 다음과 같다. import Foundation //1463 var num = Int(readLine()!) var list = [Int](repeating: 0, count: num!+1) for i in 2..list[i/2] + 1) { list[i] = list[i/2] +..

[백준] 11729번 : 하노이 탑 이동 순서 - Swift

문제 https://www.acmicpc.net/problem/11729 11729번: 하노이 탑 이동 순서 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net 코드 var num = Int(readLine()!) var result = 1 for _ in 0..

[알고리즘] Divide and Conquer(분할정복)

Divide and Conquer : 여러 알고리즘의 기본이 되는 해결 방법으로, 크고 방대한 문제를 작은 문제로 나눠가면서 풀고 합쳐서 해결하는 방식 -> 재귀적인 마인드로 문제를 해결하는 기법 -> sort, search step1 : Divide - 주어진 input을 small instance로 나눈다 step2 : Conquer - smaller instance에 대한 solution - 쉽게 solution을 구하지 못하면 recursive(divide된 conquer도 divide & conquer 반복) step3 : Combine(If necessary) - original instance의 해를 구할 수 있도록 smaller instance 이용 ✔️ Merge Sort : 원소 개수가..

CS/알고리즘 2021.07.13

[유니티] VR_물건 이동

[Package Manager]에서 Input System을 설치한다. 설치 후에 다음과 같이 Plane과 Cube를 배치해준다. [Assets]에서 우클릭 Create > Input System. 이때, 이름은 Default Controls로 정해준다. Defatult Controls를 더블클릭 하면 다음과 같은 창이 뜬다. 빨간색으로 표시한 Auto-Save에 체크를 해준다. Action Maps의 +버튼으로 추가해주고 이름은 Default로 정해준다. New action의 이름은 Move로, 밑의 의 Properties는 우측에서 설정해준다. Path는 XR Controller > Optional Controls > joystick ※ 2D Vector는 키보드 입력~ PlayerMovement 스..

Programming/Unity 2021.06.30

[유니티] VR_물건 잡기

앞선 글에서의 셋팅을 마친 후 프로젝트를 시작한다~ ※Oculus Quest2사용※ 3D Object에서 Cube 2개를 추가하여 다음과 같이 배치한다. 작은 Cube의 Inspector창에서 XR Grab Interactable을 추가(Add Component)한다. 여기까지만 해도 물건을 잡을 수 있다! 지금부터는 이동하는 방법을 설정해 줄것이다. Hierarchy 창에서 XR > Locomotion System을 추가한다. (여기서는 Teleport를 사용한 이동이 아닌 연속적인 이동) Inspector 창에서 Teleportation Provider를 삭제하고 Continuous Move Provider를 추가한다. Continuous Move Provider의 System에 Hierarchy창에..

Programming/Unity 2021.06.29
반응형