Study_Cat

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

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

코딩 37

[웹 개발] Typescript의 기본 타입에 대해 알아보자 (feat. React 적용 예제)

1. 기본 타입 let Bool: boolean // True or False let num: number // 정수, 실수, (2,8,16)진수, NaN, Infinity 가능 let str: string // "문자", '${str1}' + str2 let arr1: number[] = [1,2,3] let arr2: Array = [1,2,3] 2. 형식 지정 x let a: any let u: unknown /// 형식 지정 x /// 사용을 지양하는 편이 좋음.. num = a // 아무 타입 = any 괜찮음 num = u // 아무 타입 = unknown 경고 num = u as number // 이 처럼 타입을 명시하면 괜찮음..

코딩/웹 개발 2024.04.30

Typescript를 배워야 하는 이유 (feat. React 적용)

웹 개발 프로젝트를 진행하면서 typesciprt를 사용하게 됐습니다. 그래서 Typesciprt는 무엇이며 구지 왜 공부해서 써야하는 지 알아보도록 하겠습니다.1. Typescript는 무엇이고 왜 써야할까?타입스크립트는 자바스크립트의 슈퍼셋인 오픈소스 프로그래밍 언어이다. 마이크로소프트에서 개발, 유지하고 있으며 엄격한 문법을 지원한다. (wiki) 1) Javascript는 너무 자유롭다Javascript는 코딩하는 데 있어서 너무나도 제한이 없고 자유롭습니다. 처음 개발할 때는 편하게 느껴졌지만 이는 나중에 큰 프로젝트할 때 오히려 단점이 될 수 있습니다. "실행시간 오류" 를 제대로 catch해낼 수 없기 때문이죠! 그 중 가장 큰 문제의 원인은 변수의 type을 지정함으로 써 해결할 수 있습니..

코딩/웹 개발 2024.04.29

[알고리즘 개념] Network Flow 최대 유량 알고리즘 (feat. 6086번 풀이)

참고 블로그 : https://blog.naver.com/kks227/220804885235저는 kks227(라이) 님의 블로그를 자주 보는데요. 이번에 최대 유량 알고리즘을 공부할 때도 이 분의 블로그를 메인으로 보고 다른 문서들이랑 같이 봤습니다. 혹시.. 문제가 된다면 내리겠습니다.  개인적으로 이분탐색을 먼저 공부했기에 많이 햇갈렸는데요, 그래서 다른 분들도 최대한 이해하기 쉽게 설명할라고 합니닷.. 1. Main Idea1) 용어 설명용량 : c(u, v) - 정점 u->v로 전송할 수 있는 최대 용량유량 : f(u,v) - 정점 u->v로 흐르고 있는 유량잔여 용량 : r(u,v) - 정점 u->v로 더 흐를 수 있는 유량소스 : 시작점싱크 : 도착점2) 규칙1. 용량 제한 : f(u,v) 2..

코딩/알고리즘 2024.04.29

[알고리즘 문제] 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

[알고리즘 문제] 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

[알고리즘 문제] 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

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

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

코딩 2024.04.06

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

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

코딩/알고리즘 2024.04.05

[React-Native] Android-Studio에서 작업하기 (희망편)

VsCode로 작업하고 싶다! 라고 생각하시는 분은 아래 링크로 들어가서 하시면 되겠습니다. (vscode로 셋팅하면 아~주 많고 많은 에러가 뜨는데... 그냥 앱 제작은 Android Studio에서 하는 것을 매우매우 권장합니다. + 어차피 vscode로 해도 Android Studio 깔아야 되요...) [React-Native] 환경 설정을 해보자! (Vscode 절망편..) Vscode 에서 작업할라고 했으나 4~5시간 환경 설정 똑같은 부분에서 막혀서 결국 Android Studio 를 사용하게 되었습니다. 공통된 부분도 있으므로 봐주시면 감사하겠습니다. 저는 Vscode에서 왠진 몰라 study-cat.tistory.com 1. SDK 설치 일단 기본적인 Android Studio설치는 건너..

코딩/앱 개발 2024.04.04

[React-Native] 환경 설정을 해보자! (Vscode 절망편..)

vscode로 작업할라고 욕심내고 5시간을 날리면서 고생했는데.. 저는 예~전에 android_studio를 깔아서 연결이 잘 안되서 그런지 결국 안됬지만 다른 부분의 애러는 전부 해결했기에 혹시나 해서 올려봅니다. 근데 어차피 vscode로 작업한다고 해도 android_studio를 깔아서 이용해야 하기도 하고.. 호환 문제도 있고 오류도 너~무 많은데.. 그냥 android-studio로 하는건 어떨까요? 저는 몹시 후회 중 입니다. [React-Native] Android-Studio에서 작업하기 (희망편) VsCode로 작업하고 싶다! 라고 생각하시는 분은 아래 링크로 들어가서 하시면 되겠습니다. (vscode로 셋팅하면 아~주 많고 많은 에러가 뜨는데... 그냥 앱 제작은 Android Stu..

코딩/앱 개발 2024.04.04