본문 바로가기

전체 글

(22)
[Unity] 유니티 이미지 색상 변경, Color 클래스 사용법 유니티에서 이미지나, 스프라이트의 색상을 조정해주고 싶을 때는, 해당 컴포넌트가 가지고있는 Color 값을 변경해주면 된다. 이렇게 사용할 수 있는데, 여기서 주의할 점이 있다. r, g, b, a 파라메터 모두 흔히 생각하는 0~255 사이의 값이 아닌, 0~1사이의 실수 형태라는 것이다. RGB (220, 220, 220) 값은 다음과 같이 설정하면 된다.
[파이썬] 백준 1108번 - 검색 엔진 https://www.acmicpc.net/problem/1108 티어: 플래티넘 3 로직 A에서 B로, B에서 A로 통하는 링크가 없을 때만 점수를 더하기에, 그래프를 SCC 단위로 분리합니다. 이후, 위상 정렬을 하며 각 웹사이트별 점수를 계산해주면 쉽게 답이 나옵니다.
[파이썬] 백준 1471번 - 사탕 돌리기 https://www.acmicpc.net/problem/1471 티어: 플래티넘 4 로직 흔한 다른 SCC 문제와는 다르게, 문제에서 딱히 그래프라고 주어진게 없습니다. 그래프 먼저 만들어야 문제가 쉬워집니다. 먼저, n + 1 크기의 1차원 정수 배열 graph를 만들고, 0으로 초기화합니다. graph[a]는 a번 칸에 있을 때, 다음으로 방문할 칸의 번호를 나타냅니다. 1부터 n+1까지 for문을 돌리며 graph 값을 지정해줍니다. 만들어진 그래프를 SCC 단위로 분리해줍니다. 다음으로, n + 1 크기의 1차원 정수 배열 dp를 만들고, -1로 초기화합니다. dp[a]는 a번 칸에서 방문할 수 있는 칸의 최대 개수를 의미합니다. 크기가 2 이상의 SCC 안에 포함되는 칸은 dp값을 그 SCC의..
[파이썬] 백준 26157번 - 즉흥 여행 (Hard) https://www.acmicpc.net/problem/26157 티어: 플래티넘 3 로직 하나의 SCC 안에 들어있는 나라들은 서로 자유롭게 이동할 수 있으므로, 하나의 노드로 생각할 수 있습니다. 먼저, 주어진 그래프를 SCC 단위로 분리합니다. 분리된 SCC의 개수가 1개라면 아무데서나 출발해도 됩니다. indegree가 0인 SCC의 개수가 1개이고, 해당 scc에서 모든 노드를 방문할 수 있으면 해당 scc가 정답이 됩니다. indegree가 0인 SCC의 개수가 2개 이상이고, 모든 노드를 방문할 수 없다면 정답은 0이 됩니다.
[파이썬] 백준 3682번 - 동치 증명 https://www.acmicpc.net/problem/3682 티어: 플래티넘 2 로직 문제를 바꿔 생각해보면, 주어진 그래프를 딱 하나의 SCC로 만들기 위해 추가해야할 간선의 최소 개수가 정답이 됩니다. 간선의 최소 개수는 indegree가 0인 scc의 수, outdegree가 0인 scc의 수 중 큰 수 입니다. 원래 그래프가 하나의 SCC였다면, 0을 출력하도록 따로 처리해줘야 합니다.
[파이썬] 백준 4013번 - ATM https://www.acmicpc.net/problem/4013 티어: 플래티넘 2 로직 어떤 교차로와, 그 교차로가 속한 SCC 안의 교차로는 자유롭게 움직일 수 있으므로, SCC 단위로 돈을 구해줘야 합니다. SCC를 추출한 뒤, SCC 단위로 위상 정렬을 하며 SCC에 도달할 때까지 출금할 수 있는 최대 금액 + 그 SCC에서 출금할 수 있는 금액을 저장합니다.. 시작 지점이 정해져 있으므로 시작 지점에서 도달할 수 없는 곳은 따로 표시해줍니다. 시작 지점에서 출발해 도달할 수 있는 곳중 출금할 수 있는 금액이 문제의 답이 됩니다.
Top-down DP와 Bottom-up DP의 차이점과 장단점, 쓰는 경우 Top-down DP와 Bottom-up DPDP를 푸는 방식에는 크게 두 가지 스타일이 있다고 할 수 있습니다.첫 번째는, Top-down DP로, 큰 부분부터 작은 부분으로 쪼개지며 답을 찾습니다.두 번째는 Bottom-up DP로, 작은 부분부터 시작해 큰 부분까지 모두 답을 찾습니다. 단순히 구현 방법의 차이라고만 생각할 수도 있겠지만, 의외로 성능 차이가 나는 부분이 있습니다. Top-down DP의 이점Top-down DP가 훨씬 유리한 경우가 있습니다. 모든 부분을 다 구하지 않아도 될 때인데, 백준 무한 수열 문제처럼, 수열의 모든 항을 다 구하지 않아도 될 때는 Top-down 방식이 훨씬 유리합니다. Bottom-up DP는 문제를 해결하는 데 있어 필요하지 않은 부분까지 모두 구하다 ..
[파이썬] 백준 1111번 - IQ Test 풀이 https://www.acmicpc.net/problem/1111 티어: 골드 3 로직 N개의 수들을 lst라는 리스트에 저장합니다. 1. lst가 한 가지의 수로만 이루어졌으며 N이 1이 아닐 때([1, 1, 1, 1] 등)는 lst[0]이 답이 됩니다. 2. N이 2보다 작을 때는 A가 답이 됩니다 3. [1, 1, 2], [2, 2, 2, 1] 등 같이 같은 수가 반복되다가 또 다른 숫자가 나온다면 B가 답이 됩니다. ([2, 1, 1, 1]같이 반복되는 수가 맨 뒤에 있는 수열은 앞수 * 0 + 1로 표현 가능합니다.) 4. 수열의 규칙은 lst[i+1] = lst[i] * a + b 형태로 표현 가능합니다 수열에서 lst[0], lst[1], lst[2]를 이용해 a * lst[0] + b = ..