전체 글337 github 의 fork 와 clone 의 차이 깃허브에는 fork 와 clone 기능이 있는데 다른 사람의 저장소 repository 를 가져와서 사용한다는 느낌은 비슷한데 뭐가 다른가 찾아보았다 아래는 쉬운 이해를 위해 나만의 해석이 가미되었다 fork fork는 call by reference 와 유사하다 음식을 포크로 찍어 가져오듯 내 girhub 내의 저장소로 원본 저장소를 가져올 수 있다 가져오려는 원본 저장소와 연결되어 있어서 원본 저장소에 새롭게 커밋, 수정 되면 fetch 와 pull 를 하면 내 깃허브 내의 그 저장소에 그 변화를 적용시킬 수 있다 변수처럼 원본 저장소에서 호출해서 가져올수 있는 것이다. 물론 그렇게만 설명할 수도 없는것이 fetch 와 pull 을 해야 변화가 적용이 되며, 호출한 쪽(내 깃허브 내 그 저장소)에서 .. 2022. 7. 20. [백준 2579/c++] 계단 오르기 다이나믹 프로그래밍을 이용한 문제이다 특이사항으로 1칸, 2칸 씩만 오를 수 있지만 1칸이 연속되면 안된다는 조건이 걸려있다 1칸 연속이 허용되지 않으면 1칸 2칸 혹은 2칸 1칸 혹은 2칸 2칸 의 순으로 가야되는 것인데 2-1 / 1-2 의 경우는 조건에 맞지 않아 문제가 생긴다 1의 위치가 뒤 앞으로 정해지지 않았을때 생기는 문제이니 1 이후에 2가 무조건 오거나 2 이후에 1이 무조건 오도록 오르게 하면 해결된다 하지만 1이후에 2가 무조건 오게 하는 방법은 1만큼 오르는 것이 필수가 아니므로 1-2 / 2-1 / 2- 2 중 일반화 했을때 1이 먼저 오는 1-2 의 경우는 2-2 를 나타내기 힘드므로 2가 먼저 오게 해서 2 이후에 1이 오는 경우, 안오는 경우 2가지만으로 하여 오르는 방법이 .. 2022. 7. 19. 파이썬은 모든 요소가 객체다 (list, dict 제외) 파이썬은 객체 지향을 강화해서인지 모든 요소(변수)가 다 객체로서 성립한다 a=b 의 경우 c언어 등의 경우에서는 call by value 로 값을 복사해서 할당하지만 파이썬의 경우는 a b가 모두 같은 주소 값의 '객체'를 가리키므로 얘기가 좀 다르다 a b 중 하나가 변화가 있으면 객체를 수정하는게 아니라 객체를 새로 생성해서 새 객체를 만들어 주소값도 바뀌게 된다 이때 이전 주소의 객체를 가리키던 변수는 이전 객체를 그대로 가리키고 수정하려 한 변수는 새로 만든 변수를 가리키게 된다 a = 'tokki' >> a 주소값 100 b = a >> b 주소값 100. a와 같은 객체를 가리킨다 a = a + 'ssi' >> a 주소값 400 에 새로 만든 'tokkissi' 객체를 가리킨다. 이는 수정이.. 2022. 7. 19. [백준 24416/c++]피보나치 수 1 어제랑 다른 버전의 피보나치 수 문제이다 재귀와 다이나믹 프로그래밍의 차이를 알 수 있는 문제였다 재귀는 반드시 함수를 만들어서 풀어야 하며, 매번 연산을 하면 너무 느리므로 top-down 방식의 memoization 을 사용하여 연산 속도를 향상 시킬 수 있다 (memoization이 필수는 아님) 다이나믹 프로그래밍의 경우 반드시 함수를 만들 필요는 없고 배열과 반복문만으로 만들 수 있으며 bottom-up 방식의 tabulation 을 사용한다 (tabulation이 필수임) 일반적으로 다이나믹 프로그래밍이 재귀함수를 사용한것보다 시간복잡도, 공간복잡도가 낮아서 성능이 좋다 https://www.acmicpc.net/problem/24416 24416번: 알고리즘 수업 - 피보나치 수 1 오늘도 .. 2022. 7. 18. 이전 1 ··· 42 43 44 45 46 47 48 ··· 85 다음