본문 바로가기

분류 전체보기

BOJ 백준 이항계수3 <DP> https://www.acmicpc.net/problem/11401 11401번: 이항 계수 3 자연수 \(N\)과 정수 \(K\)가 주어졌을 때 이항 계수 \(\binom{N}{K}\)를 1,000,000,007로 나눈 나머지를 구하는 프로그램을 작성하시오. www.acmicpc.net * 이 문제는 풀 지 못하여 풀이 방법을 검색했고, 페르마의 소정리를 이용하여 푼다는 것을 알았습니다. p가 소수이고, a가 p의 배수가 아니라면 a^(p-1) % p = 1 문제 풀이 ) nCk = a / b * c , a = n!, b = k!, c = (n - k)!; = a * b^-1 * c^-1 * % 연산에 이용될 수는 1000000007 이므로, 소수이면서 N이 4..
BOJ 백준 4991 로봇 청소기<BFS, DFS> https://www.acmicpc.net/problem/4991 4991번: 로봇 청소기 문제 오늘은 직사각형 모양의 방을 로봇 청소기를 이용해 청소하려고 한다. 이 로봇 청소기는 유저가 직접 경로를 설정할 수 있다. 방은 크기가 1×1인 정사각형 칸으로 나누어져 있으며, 로봇 청소기의 크기도 1×1이다. 칸은 깨끗한 칸과 더러운 칸으로 나누어져 있으며, 로봇 청소기는 더러운 칸을 방문해서 깨끗한 칸으로 바꿀 수 있다. 일부 칸에는 가구가 놓여져 있고, 가구의 크기도 1×1이다. 로봇 청소기는 가구가 놓여진 칸으로 이동할 수 없다. 로봇은 www.acmicpc.net 문제 풀이) 1. bfs 알고리즘을 이용하여 로봇에서 각각 더러운 장소들로 가는 최단 경로를 저장해준다. 2. 만약 로봇에서 갈 수 없는..
스마트 포인터(C++) http://tcpschool.com/cpp/cpp_template_smartPointer 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com class AAA { public: string m_str; public: AAA() { printf("생성자 호출\n"); } AAA(const string str) { m_str = str; cout
BOJ 백준 5014 스타트링크 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 문제 강호는 코딩 교육을 하는 스타트업 스타트링크에 지원했다. 오늘은 강호의 면접날이다. 하지만, 늦잠을 잔 강호는 스타트링크가 있는 건물에 늦게 도착하고 말았다. 스타트링크는 총 F층으로 이루어진 고층 건물에 사무실이 있고, 스타트링크가 있는 곳의 위치는 G층이다. 강호가 지금 있는 곳은 S층이고, 이제 엘리베이터를 타고 G층으로 이동하려고 한다. 보통 엘리베이터에는 어떤 층으로 이동할 수 있는 버튼이 있지만, 강호가 탄 엘리베이터는 버튼이 2개밖에 없 www.acmicpc.net 문제 풀이 ) 1. DP를 통한 풀이 ( 메모리, 시간 효율이 낮은 풀이 ) #include #define TOTAL 0 #define..
Visual Studio 2015 디버깅 시 응답 없음 현상 디버깅 시 비주얼 스튜디오가 응답 없음으로 변하고 재시작 되는 현상이 나타났다. 위 항목에서 가운데 쯤 있는 과 항목이 체크 해제되어 있다면 체크해준 뒤 다시 디버깅을 해보자.
BOJ 백준 2931 가스관 < DFS> https://www.acmicpc.net/problem/2931 1. 방향 지정 UP : 0 , DOWN : 1, LEFT : 2, RIGHT : 3 로 가정 방향이 전환되는 블록은 '1', '2', '3', '4' 의 경우이다. '1' 블록의 경우 UP(0)의 방향을 RIGHT(3)로, LEFT(2)의 방향을 DOWN(1)로 전환 '2' 블록의 경우 DOWN(1)의 방향을 RIGHT(3)로, LEFT(2)의 방향을 UP(0)으로 전환 '3' 블록의 경우 DOWN(1)의 방향을 LEFT(2)로, RIGHT(3)의 방향을 UP로 전환 '4' 블록의 경우 UP(0)의 방향을 LEFT(2)로, RIGHT(3)의 방향을 DOWN(1)로 전환 따라서, '1' 블록의 경우 방향 = (본래 방향 + ..
Unity3D NavMeshAgent의 SetDestination, ResetPath 스스로 움직이게 하려는 AI 오브젝트들에게 NavMeshAgent 컴포넌트를 추가하게 되면, AI 오브젝트들에 적용되어 있는 Rigidbody가 잠가진다. 만약 NavMeshAgent를 사용하지 않고 Rigidbody의 AddForce나, MoveRotation, MovePosition 등을 사용하여 AI 오브젝트를 움직이고 있었다면, NavMeshAgent를 사용한 후에는 위의 함수들이 반영되지 않으므로 AI 오브젝트가 움직이지 않게 된다. NavMeshAgent의 SetDestination을 이용하여 오브젝트가 움직이게 할 수 있다. NavMeshAgent.SetDestination( Vector3 destination ) 를 통해 목적지로 향하게 만들 수 있다. destination에 플레이어의 위..
Unity3D 거리에 따른 음향의 차이가 나지 않을 때 AudioSource 컴포넌트의 3D Sound Setting에서 음향 거리, 곡선 등을 조정했는데도, 거리가 멀어져도 소리가 바로 앞에서 들리는 경우가 있다. Inspector 창의 맨 오른쪽 자물쇠 옆에 있는 메뉴바를 누르고 Debug를 눌러주면 AudioSource 컴포넌트에 나와있는 속성들이 바뀌어져 있는 것을 볼 수 있다. 거기서 Pan Level Custom Curve이 0에 위치해 있다면 이를 1로 바꾸어 보자. Pan Level Custom Curve는 1에 가까워질 수록 3D 음향에 가까워지고, 반대로 수치가 낮아질 수록 2D 음향에 가까워지는 속성이다. cf ) 만약 AudioSource를 스크립트 상에서 추가를 할 경우, 아래와 같이 Pan Level Custom Curve 값을 바꾸..