[TIL] 정글 9일차 - 22/04/05

신승준·2022년 4월 6일
0

TIL

목록 보기
3/34

Git & Github

Git과 Github의 차이

Git은 '로컬'에서의 버전 관리 시스템. Github는 '클라우드'에서의 버전 관리 시스템이다.

pull request

git clone [url] : git clone 을 통해서 원하는 git repository를 나의 local로 가지고 올 수 있다.
git branch : 현재 branch가 어디인지 확인할 수 있다.
git branch [name] : name이라는 branch를 생성한다.
git checkout -b [name] : name이라는 branch를 생성하고 name이라는 branch로 바로 이동한다.
git pull origin [main] or [branch] : 원격 저장소의 main이나 branch를 나의 local로 가지고 온다.
git status : 현재 상태가 어떤지 보여준다. 잘못된 파일이 add나 commit, push되지 않도록 계속해서 확인해준다.
git push origin [main] or [branch] : 나의 로컬 저장소의 main이나 branch를 원격 저장소로 보낸다.
git merge [branch] : 현재 위치한 branch의 내용을 merge [branch]할 곳으로 보낸다.




알고리즘

문자열 검색, 브루트 포스(brute force)

https://velog.io/@metamong/%EB%AC%B8%EC%9E%90%EC%97%B4-%EA%B2%80%EC%83%89-%EB%B8%8C%EB%A3%A8%ED%8A%B8-%ED%8F%AC%EC%8A%A4

재귀 - 하노이의 탑

import sys

n = int(sys.stdin.readline())

cnt = 2**n - 1

def move(n, start, end):
    if n == 1:
        print(start, end)
        return

    move(n - 1, start, 6 - start - end)
    print(start, end)
    move(n - 1, 6 - start - end, end)

if n <= 20:
    print(cnt)
    move(n, 1, 3)
else:
    print(cnt)



하루를 마치고

재귀가 너무 와닿지 않는다... 팩토리얼 정도는 이해할 것 같으면서(완벽하게 이해하진 못하고 있다) 조금만 어려워지만 그림을 그려와도 감이 잡히지 않는다. 그래도 계속 여러 유형을 보고 익숙해지도록 해야겠다.

잘하는 사람들은 어떻게 재귀를 생각하고 어떻게 재귀 문제에 접근하는지도 많이 물어봤다. 정확하면서도 나에게 맞는 재귀 접근법이 무엇인지 생각하는 중이다.

그리고 오늘 보경 누나의 너무나도 친절하고 세세한 강의와 민성이의 도움 덕분에 Git과 Github를 어떻게 쓰는지 개념을 어느 정도 잡았다. 실제 협업에 사용해보진 않았지만 연습해서 쓸 수 있도록 해야겠다.

대학생 때 전공과목에서 궁금했던 것은 동기들과 서로의 지식을 확인해가며 알아내갔다. 내가 지식을 비교적 정확하면서도 빠르게 얻는 방법은 누군가에게 내가 아는 것을 설명하여 나의 지식이 맞는지 확인하고 부족한 것은 채워나가는 것이었다. 여기서도 대학생 때 했던 방식으로 공부할 수 있어 효율적인 느낌이 든다.

profile
메타몽 닮음 :) email: alohajune22@gmail.com

0개의 댓글