CS 7

[DP] Top-down 과 Bottom-up 의 차이점과 장단점, 쓰는 경우

1.Top-down 과 Bottom-upDP를 푸는 방식에는 두 가지가 있다.Top-Down : 큰 부분부터 작은 부분으로 쪼개지며 답을 찾는다(재귀 사용)Bottom-up : 작은 부분부터 큰 부분까지 모두 답을 찾는다. 즉  큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용한다. 2. Top-down 장점모든 부분을 다 구하지 않아도 될 때 시간복잡도 면에서 유리하다. Bottom-up 방식은 문제 해결에 필요하지 않은 부분까지 모두 구하기 때문에 메모리나 시간상 불리하다.그 예시로 백준 무한 수열이 있다. 3. Bottom-up 장점모든 부분을 다 구해야 할 때는 Bottom-up이 유리하다. Top-down은 재귀함수를 구현하기 때문에 stack이 쌓여 불필요한 메모리가 낭비될 수 있다.그..

CS/알고리즘 2025.03.13

[Linux] 쉘 스크립트 확장자 없이 사용?

리눅스의 실행파일은 전부 확장자 없이 사용한는데, 왜 쉘 스크립트는 그런 방법이 없을까?혹시 확장자 없이 사용하는 방법이 있진 않을까??결론적으로 .sh 파일은 확장자 없이 사용할 수 없다. 쉘 스크립트는 shell 이라는 명령어 해석기에 의해 실행되기 때문에, 확장자가 있어야 한다.대신 디렉토리를 명시하지 않고 사용하는 방법은 아래 블로그에 나와있으니 참고하면 될 것 같다.$ ./test.sh->$ test.shhttps://developerbbojak.tistory.com/57

CS/Linux 2025.02.12

[Linux] 우분투(Ubuntu)에서 클립보드 사용하기 ctrl+c ctrl+v

[참고] VM VirtualBox에서 우분투를 설치해 사용했습니다. 해당 설정을 완료하면 윈도우에서 복사한 내용을 우분투에 붙여넣기가 가능합니다. 그리고 그 반대도 가능합니다.상단 메뉴바에서 장치 > 게스트 확장 CD 이미지 삽입 선택run 누르고, 두 번째 메시지는 cancel 누르면 실행됨.꽤 빨리 되므로 ~~ing cancel 어쩌구 뜨면 완료된겁니다상단 메뉴바에서 장치 > 클립보드 공유 > 양방향맨 오른쪽 상단에서 power off > restart 누르고 재부팅 후 사용

CS/Linux 2025.02.10

[Linux] 우분투(Ubuntu)에서 한글 사용하기

[참고] 저는 VM VirtualBox와 우분투를 사용했습니다. Ubuntu 설치를 사용자 지정으로 설치했고 그 과정에서 keyboard 언어를 한글로 지정해주었습니다. 그 이후 진행된 과정입니다.우클릭 - open in terminal `ibus-setup` 명령어 엔터Region & language > input Sources > manage installed languages 클릭하여 한글 찾아서 intall다운로드 완료되면 위 그림에서 + 눌러서 Korean(hangul) 찾아서 추가기존에 input-sources에 있던 Korean은 삭제KOREAN(hangul) 오른쪽에 설정 눌러서 hangul toggle key - hangul인지 확인.

CS/Linux 2025.02.10

유클리드 호제법 증명 / 최대공약수 알고리즘

1. 유클리드 호제법의 정의✅ a>b인 두 양의 정수 a,b에 대하여, a=qb+r(나머지 r은 0 이상 b 미만,q는 몫)이라 하면, gcd(a,b)=gcd(b,r) (a,b의 최대공약수=b,r의 최대공약수)이다.2. 알고리즘 표현 public int GCD(int num1, int num2) { if (num1 % num2 == 0) return num2; return GCD(num2, num1 % num2); } 3. 증명a > b인 두 양의 정수 a, b가 있다. 이 둘의 최대공약수를 G라고 하자.a = AG, b = BG 여기서 A와 B는 서로소이다. G가 두 수의 최대공약수이기 때문이다.( 최대공약수는 모든 공통 약수를 가져가야 하기 때문..

CS/알고리즘 2025.01.29