https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 bfs를 이용한 길 찾기를 통해 해결할 수 있다.문제에서 모든 통로와 출구, 레버, 시작점을 여러번 지나갈 수 있는 조건은 문제 해결 시 많은 어려움을 가져다 주었다. 이 조건은 레버를 찾기 전까지 성립하지 않는 것을 알게 되었다.그 이유는 이동 횟수가 최소가 되기 위해선 bfs나 dfs를 사용해야한다. 하지만 레버를 찾기 전에 같은 위치를 여러번 이동할 수 있다면, 최소 이동을 할 수 ..
분류 전체보기
https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 BFS를 사용하는 문제이다.알고리즘은 다음과 같다. 1. 처음 위치와 끝 위치를 알기위해 board 배열을 순회한다.2. bfs를 시작하기 전 queue에 시작 위치의 y좌표와 x좌표와 counter를 삽입한다.3. 방문 배열의 y, x 좌표를 방문했다고 표시한다.4. y좌표와 x좌표가 목적기 좌표인 경우 answer와 counter 중 최소인 값을 저장한다.5. dx와 dy 배열을 통해..
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 처음 접근 했을 때 곡괭이를 좋은 순서대로 사용하였다.이유는 최소 피로도를 구하는 것이기 때문에 다이아 -> 철 -> 돌 곡괭이 순으로 광물을 캐면 최소 피로도가 나온다고 생각 하였다. 이 생각은 예시 상황에는 맞는 생각이였지만 철 -> 다이아 순으로 캘 때 최소가 되는 상황에서는 적합하지 않는 생각이였다.또한 광물을 다 캤거나 곡괭이 수가 없을 경우도 사용할 수 없는 생각이였다.따라서 ..
https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 이 문제는 DP를 사용해 해결할 수 있다.숫자 x를 y로 만드는 방법은 3가지가 있다.1. n을 x에 더하기2. x에 2를 곱하기3. x에 3을 곱하기 위 방식을 생각해 본다면 y에서 x로 1씩 감소시키면서 반복을 진행할 때 1씩 감소시킨 값이 3이나 2로 나누어 떨어지거나 n과 뺐을 때 0보다 큰 경우 계속해서 연산할 수 있다는 것을 알 수 있다.따라서 연산이 가능할 때 연산 횟수가 최소인 경우를..
https://school.programmers.co.kr/learn/courses/30/lessons/154540 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr이 문제는 DFS를 사용해서 해결할 수 있다.문제에서 주어진 배열은 문자열 배열이므로 배열 순회 후 문자열을 순회하여도 해결할 수 있지만DFS 과정 속에서 편리하게 해결하기 위해 문자열 배열의 요소를 2차원 배열로 변환하였다. 변환 과정은 다음과 같다.1. X인 경우 0으로 변환한다.2. 숫자인 경우 문자를 숫자로 변환한다. DFS는 dx와 dy를 통해 상, 하, 좌, 우로 연결되는 칸은 탐색하였다...
스켈레탈 애니메이션게임에서 캐릭터 애니메이션은 가상의 뼈대인 본(Bone)을 캐릭터 메시에 심은 후, 해당 본의 움직임에 맞춰 캐릭터 메시가 변형되는 방식을 사용한다.이러한 방식을 스켈레탈 애니메이션(Skeletal animation)이라고 부른다.스켈레탈 애니메이션을 구현하려면 기존 메시 체계를 확장해 본을 추가해야한다.본은 단순히 이동만 하는 것이 아니고 회전하거나 크기도 변경되므로 본의 정보는 트랜스폼에서 관리한다.본을 구성하려면 3가지 정보가 필요하다.본이 움직일 때 상대적인 변화량을 파악하는데 기준으로 사용하는 바인드보즈(Bindpose)정보본의 트랜스폼 정보를 저장할 공간본을 식별할 수 있는 고유한 이름 정보배경으로 사용되는 애니메이션이 없는 고정된 메시는 본 정보가 필요하지 않다.하지만 애니..
사원수 대수사원수는 복소수와 동일하게 허수를 사용하는 수의 집합이다.사원수는 하나의 실수부와 세 개의 허수부로 구성된다.총 4가지 수체계를 사용하기 때문에 사원수라고 한다.사원수에서는 세 허수부를 구성하는 단위를 각각 i, j, k로 표시한다.사원수를 구성하는 세 허수사원수는 3개의 허수부 i, j, k로 구성되어 있지만 이들은 모두 복소수의 허수 단위 i와 같은 성질을 가진다.i^2 = -1i^2 = j^2 = k^2 = -1세 허수 중에서 두 허수의 곱은 다음과 같이 나머지 다른 허수에 대응된다.이들은 회전의 순환 순서 x -> y -> z -> x와 유사하게 i -> j -> k -> i 순서로 대응된다.ij = k jk = iki = j위 식으로부터 ij의 값은 k가 되고 kk의 결과는 -1이므로..
자연 지수 함수무리수 e와 허수 단위 i, 그리고 삼각함수와의 관계를 이용해 나타낸 오일러 공식은 다음과 같다.//오일러 공식e^iθ = cosθ + isinθ오일러 공식을 이해하려면 좌변의 자연지수함수 f(x) = e^x와 우변에 있는 두 삼각함수 sin 함수와 cos 함수의 미분을 이해하고, 이들을 급수로 표현하는 방식을 알아야 한다.무리수 e스위스 수학자 야코프 베르누이(Jakob Bernouli)는 아래 수식으로 복리 수익을 연구하고 있었다.y = (1 + 1/x)^x굉장히 큰 값을 x에 대입할 수록 결괏값이 특정 상수 2.7182818…에 근접한다는 사실을 알아냈다.이 수를 무리수 e라고 부른다.무리수 e를 극한(Limit)과 무한대(∞)의 개념을 사용해서 다음과 같이 표현할 수 있다.e = l..