728x90 반응형 전체 글319 [Git&GitHub] 서로 다른 브랜치 병합하는 방법 (충돌 해결) 두 명이서 협업을 하는데 한 명은 A 기능, 다른 한 명은 B 기능을 개발한다고 하자. 그런데 충돌을 피하기 위해 A 기능이 다 개발되고 커밋된 내용을 받아서 B 기능 개발을 시작한다면 협업의 의미가 없을 것이다. 그래서 브랜치를 사용한다. 현재 둘은 main 브랜치에 존재하고 같은 코드를 가지고 있다. 이 상황에서 협업을 시작할 때 A 기능을 개발하는 브랜치와 B 기능을 개발하는 브랜치로 나누는 것이다. 이 각각의 브랜치는 서로 독립적이고 같은 뿌리로부터 분리되었다. 그림으로 나타내면 아래와 같다. 이후 각각의 기능이 개발이 되고나면 다시 main 브랜치로 합치는 과정을 브랜치 병합이라고 한다. 만약 두 개발자가 서로 수정한 코드가 하나도 겹치지 않는다면 깔끔하게 병합이 가능할 것이다. 그러나 실제로는.. 2023. 3. 16. [백준 11066][파이썬] 파일 합치기 (dp 알고리즘) https://www.acmicpc.net/problem/11066 11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net dp를 활용하여 삼중 반복문을 사용하여 푸는 문제이다. dp[x][y]는 다음과 같이 정의한다. 인덱스 x 파일부터 인덱스 y 파일까지 하나의 파일로 합치는데 필요한 최소비용 이를 이용하여 dp 알고리즘을 적용하면 된다. 가장 먼저 x와 y가 동일한 경우를 보자. 다음과 같이 파일들의 크기를 나열할 때 15 1 21 3 4 5 35 5 4 3 5 98 21 14 17 32 dp[0][0].. 2023. 3. 15. [Git & GitHub] 깃 버전 관리 기초 사용법 작업을 하다보면 예상치 못한 오류가 발생했을 때 이전에 정상적으로 작동했던 코드를 불러오고 싶은 마음이 있을 것이다. 여러 버전으로 나누어 이러한 정보들을 보관해두고 불러온다면 편리하게 사용할 수 있을 것이다. 이를 도와주는 버전 관리 시스템이 깃(Git)이다. 로컬에서 혼자 버전 관리를 한다면 깃 하나만으로도 충분하지만 대부분 다른 사람들과 협업을 하게 될 것이다. 그래서 외부 저장소에 버전 정보들을 보관하여 팀원들과 공유하도록 도와주는 깃 호스팅 사이트이다. 로컬 환경에서 깃을 사용하여 버전 관리 하는 방법과 깃허브에 올리는 방법에 대해서 알아보려고 한다. 비쥬얼 스튜디오 환경에서 코드를 작성할 예정이다.우선 나는 c 드라이브 아래에 github 폴더를 만들어서 간단한 html 파일을 만들어 보았다... 2023. 3. 14. [백준 1927][파이썬] 최소 힙. 파이썬 heapq 모듈 사용법 (우선순위 큐) https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 우선순위 큐를 사용하여 푸는 문제이다. 우선순위 큐의 삽입, 삭제 시간 복잡도는 O(log N)이다. 파이썬에서 우선순위큐인 heapq 모듈을 제공한다. heapq의 경우 사용방법이 특이한데 따로 리스트를 만들고 이 리스트를 heapq 메소드의 인자로 사용해야 한다. 1. 삽입 : heapq.heappush( list, value ) import heapq li=[] heapq.. 2023. 3. 13. 이전 1 ··· 46 47 48 49 50 51 52 ··· 80 다음 728x90 반응형