Study_Cat

꾸준히 공부하는 고양이가 될게요.

끊임없는 노력은 천재를 이긴다.

분류 전체보기 57

[공지사항] 시험 기간 및 컨디션 관리로 인해 글을 올립니다.

시험기간 : 4월 22~4월 26일 대학 첫 시험이니 긴장되는 것도 있지만 지금 너무 컨디션이 안좋고 머리도 멍해서 해당 기간 동안은 [공부] 를 통해 공부한 내용, 푼 문제를 올리는 것으로 대체합니다. 다행히 열이 40도 까지 오른건 아니라서 이렇게 포스팅 쓰고 있는것도 다행이네요 ㅎㅎ... 여러분도 몸조심 하시고 시험 대박나세요! 2024년 4월 16일 수정내용 기존에는 [공부]에 푼 내용을 올리는 것으로 대체하려고 했습니다. 이를 일기 및 기록지에 공통으로 적는것으로 수정하겠습니다. (가끔 개념 정리할 때도 있습니다. 그리고 시험 기간이 지나면 다시 활발히 활동을 진행하겠습니다.) 항상 읽어주셔서 감사합니다! 제발... 구글님 제 포스팅좀 검색 창에 올려줘여...

공지사항 2024.04.13

[알고리즘 문제] 13250번 주사위 게임 (feat. 탑-다운, 바텀-업)

사실 이 문제는 1주일 전에 푼거긴 한데 dynamic programming에서 bottom-up, top-down 기법의 차이를 분석하고 넘어가고자 포스팅하고자 한다. 13250번: 주사위 게임 효빈이는 1부터 6까지 수가 적혀있는 6면 주사위를 가지고 있다. 매번 주사위를 던질 때마다 주사위의 윗 면에 적힌 수 만큼 사탕을 받게 된다. 효빈이가 적어도 N개의 사탕을 받기 위해 주사위를 www.acmicpc.net 1. 문제 분석 dt[i] = i이상의 사탕을 가져올 때 주사위를 던진 횟수의 기댓값으로 지정했다. 또한 주사위는 1~6 자연수 이기에 해당 범위의 dt값에만 영향을 받는다. 2. Bottom-Up Bottom-Up은 문제를 작은 단위로 쪼갠 상태에서 부터 큰 단위로 범위를 확장해 나가는 방..

코딩/알고리즘 2024.04.12

[전산수학I] 행렬과 행렬의 곱셈 (feat. 기하적 해석)

1. 행렬끼리 곱(일반적) A = m by n, B = k by l 행렬, 즉 A = m행 n열, B = k행 l열 이라고 가정했을 때 행렬의 곱을 하기 위해서는 n = k여야 한다. 그 결과는 m by l 행렬, m행 l열로 나타나며 계산하는 방법은 A의 행과 B의 열을 차례대로 대응해서 곱하면 된다. 결과값은 아래와 같다. 2. 기하 관점 해석 위 그림은 아래와 같이 쓸 수 있다. 또한 Ax 꼴은 이전 포스팅에서 선형대수 Transformation 에서 서술했으므로 참고하면 된다. 물론 간단하게 이렇게 말해도 되지만 위의 설명을 모호하다. 따라서 더 자세하게 말하면 아래와 같다. 물론 작은 행렬을 계산할 때는 잘 알려진 방법으로 행렬의 곱을 계산하면 되지만 이를 물리나 데이터 분석에 사용할 때는 기하..

[알고리즘 문제] 1521번 랜덤 소트

1521번: 랜덤 소트 첫째 줄에 순열의 크기 N이 주어진다. 둘째 줄에 순열에 들어있는 수 N개가 주어진다. 이 수는 모두 1보다 크거나 같고, N보나 작거나 같으며, 같은 수는 2번 이상 주어지지 않는다. 또, N은 8보다 www.acmicpc.net 1. 문제 분석 N = 8이하 자연수라서 check배열을 이용해 최대 8!의 경우의 수를 구하여 답을 얻을 수 있다. 그리고 bfs와 memoization을 이용해 기댓값을 구하면 된다. 2. 실패 과정 살짝 확률을 경우의 수로 정의하는 것과 햇갈려서 횟수의 합과 경우의 수를 나눴다. 솔직히 이래도 괜찮지 않을까? 하고 무심코 넘어갔는데.. 1시간 고민 끝에 틀린 이유를 알 수 있었다. (아래 참고) 3. 성공 과정 위의 그림에서 쓴 글처럼 사실 어느 ..

코딩/알고리즘 2024.04.10

[전산수학I] 풀이과정 팁 & 감점요인 (feat. Theorm)

시험이 다가오고 있기에 성공적인 시험을 위해 감점받을 수 있는 요인 중 제가 했던 그리고 하고 있는 부분에서만 작성했습니다. 혹시 여러분들이 생각하는 다른 요인들이 있다면 댓글로 남겨주시면 감사하겠습니다. 아직 진도를 다 나간 것이 아니기에.. 짧지만 계속 추가하겠습니다. 1. Consistent 판단 [A b] 로 이루어진 경우 가장 오른쪽이 pivot position이라면 해당 행에서 A에 속한 원소들은 모두 0이며 b에 속한 원소만 값이 0 이 아니라는 뜻이 되기에 아래와 같이 서술할 수 있습니다. 이와 같은 경우 inconsistent, 즉 no solution이 됩니다. 2. Existence of Solution 처음 공부할 때 Existence of Solution이라는 말이 특정 해의 존재..

[알고리즘 문제] 27730번 견우와 직녀

최근에 이 문제를 풀고 큰 교훈을 얻어서 올려야지~ 하고 못했던 문제 중 하나입니다.. 복습할 문제들 보다가 이 문제가 눈에 띄어서 다시 올려봅니다. 27730번: 견우와 직녀 견우는 정점의 개수가 $N$인 무향 가중치 트리 $E$에 살고 있고, 직녀는 정점의 개수가 $M$인 무향 가중치 트리 $W$에 살고 있다. 두 사람은 각자 다른 트리에 살고 있으므로 만날 수 없다... 슬픔에 www.acmicpc.net 1. 문제 분석 A트리와 B트리가 존재할 때 A트리의 임의 노드 a, B트리의 임의 노드 b에 대하여 A의 모든 노드와 B의 모든 노드를 이동하는 비용의 합은 B.size * ( i -> a ) + A.size * (j -> b) + A.size * B.size 입니다. 그리고 i -> a 와 j..

코딩/알고리즘 2024.04.08

[미적분학I] 감점되기 쉬운 요소

1. Limit Rule Limit Rule 말고도 정적분의 연산에서도 감점들이 자주 나오지만 위와 비슷하기 때문에 제외했다. 2. 미적분학 기본원리 1 3. 치환 적분 범위 설정 시험은 다가오고 있는데 문제를 풀 때마다 저도 아차! 하고 이거 감점당하겠네~ 하는 부분이 참 많았는데요. 그 중 가장 빈번히 발생하는 실수 요소들 3인방을 소개드렸습니다. 여러분도 시험볼 때 주의하고 맞왜틀? 내 점수 왜 이러지? 하지 마시고 좋은 성적 받길 바랍니다!

[Github] 명령어와 기초 사용법

Github는 다른 사람들과 프로젝트할 때 주로 사용하는데요... 나중을 위해 알고있으면 좋지만 프로젝트를 하지 않을거다 하시면 그닥 필요없지 않나... 싶지만 개인 개발자라도 다양한 기능을 추가하다 보면 중간에 계속 꼬이기 때문에 기본적인 사용법을 알고 있는것이 좋을 것 같아 저도 공부할 겸 포스팅합니다. 1. Git Area 1) Working Directory 작업 디렉토리는 local, 즉 자신의 컴퓨터에 있는 파일을 말합니다. 2) Repository 원격 저장소로 local이 아니라 git 사이트에 업로드된 구역을 말합니다. 2) Staging Area Working Directory와 Repository의 경계 구역으로 원격 저장소로 이동할 정보들이 잠시 대기하고 있는 구역입니다. 2. 프로..

코딩 2024.04.06

[전산수학I] Linear Transformation(선형변환)

1. 용어 정의 2. 선형변환 이해 1) 설명 -> (x,y,z) 의 점으로 표현되고 상수일 수 있도, 아닐 수도 있지만, 계수의 관계성에 의해 임의 축과 다른 축의 값이 독립적이지 않을 수도 있음. 이 때 치역은 3차원 공간이지만 분포는 2차원... 인 꼴이다! 따라서 모든 b에 대해 해를 가지진 않음. ※ 이해 TIP Linear combination꼴로 해당 좌표계의 좌표축, 기저벡터로 값을 나타내는 과정으로 이해하는 것이 편함. 위에 처럼 이해할 시 값의 분포가 어떻게 이뤄지는지 생각하기 힘들지만 아래 처럼 이해하면 Range가 2차원인지 3차원인지 이해하기 쉬울 것 이다. 3. 선형연산과 좌표 1) 선형연산 2) 좌표축 ※ 선형 변환은 좌표축을 변환하는 것이라고 생각해볼 수 있다. (= 좌표계변..

[알고리즘 문제] 16468번 크리스마스 트리 꾸미기

16468번: 크리스마스 트리 꾸미기 이진트리란 각각의 노드가 최대 두개의 자식 노드를 가지는 트리 자료구조로, 자식 노드는 왼쪽 자식 노드와 오른쪽 자식 노드가 있다. 제일 위에 노드가 1개, 그 다음 2개… 와 같은 식으로 위에 www.acmicpc.net 1. 문제 분석 및 풀이 이전 포스팅에서 트리 dp에 대해 다뤘는데 대부분의 아이디어가 해당 노드를 루트로 하는 부분 트리에 대한 dt를 설정하여 진행하는 방법이었다. 이 문제도 너무 뻔히 tree dp임을 보이고 그냥 쉽게 만들면 된다고 생각했지만 단 한 가지 간과한 사실이 있었다. dt[n][h] : 높이 h인 트리를 n개의 공을 이용해 만드는 가지 수 이렇게 정의하면 되는 것인가? 나는 처음에 된다고 생각했는데... 문제를 쫌 더 보니깐 트리..

코딩/알고리즘 2024.04.05