//////
Search

git, 알고리즘 문제 by 이도현

태그
2022/10/04 07:06
사람
최종 편집 일시
2022/10/04 09:31
목차

Git

1. Git이란

형상 관리 도구(Configuration Management Tool) 중 하나
소프트웨어 개발 기업의 핵심 자산인 소스코드를 효과적으로 관리할 수 있게 해주는 무료 공개 소프트웨어
설치 방법 윈도우

2. 특성과 장점

특성
Git이 SVN과 다른 점은 분산형 관리 시스템이라는 것이다.
버전 관리 시스템
Git
SVN
저장 방식
소스코드를 여러 개발 PC와 저장소에 분산해서 저장
중앙 서버에 소스코드와 히스토리 저장
Git은 소스 코드를 여러 피시에 저장하기 때문에, 중앙 서버에서 장애가 발생하여도 로컬 저장소에 커밋을 할 수 있으며, 로컬 저장소들을 이용하여 중앙 저장소들의 복원이 가능하다.
사본을 로컬에서 관리하기 때문에 Git이 SVN에 비하여 훨씬 빠르다.
장점
소스코드를 주고 받을 필요 없이, 같은 파일을 여러 명이 동시에 작업하는 병렬 개발 가능
branch를 통해 각자 작업을 한 뒤, 본 프로그램에 병합(merge)하는 방식으로 개발을 진행할 수 있다.
분산 버전 관리이기 때문에, 인터넷이 연결되지 않은 상태에서도 개발이 가능하며, 중앙 저장소가 날라가도 다시 원상복구할 수 있다.

3. Git bash 명령어

공통
git clone : 로컬 리포지토리에서 리모트 리포지토리로 옮기기 git --version : 설치 확인 ls : 목록 출력 cd ~ : ~ 폴더로 이동 mkdir : 디렉터리(폴더) 생성 touch : 파일 생성 cp : 파일 복사 mv : 파일 이동 rm : 파일 삭제 git bash에 붙여넣기 : shift + insert
Java
복사
$ vim (txt파일 이름).txt $ i -> insert mode 텍스트 입력 후 esc 로 insert mode 탈출 $ :wq -> 저장
Java
복사

4. Git과 Github

Git : 형상 관리 도구 (버전 관리 시스템)
프로그램의 규모가 커지게 되면, 변경된 부분을 파악하는 것이 어려워지고 작업 내역을 USB, 메일로 주고받는 데 한계가 생김
⇒ 형상 관리 도구의 사용으로 프로젝트 진행과 관리의 편의 향상
형상 관리 도구를 사용하면 코드의 변경을 쉽게 되돌릴 수 있다.
소스코드를 과거의 특정 시점으로 되돌리거나,
특정 시점의 변경 사항을 취소하거나,
두 버전의 소스 코드를 비교하는 등의 일이 가능하다.
Github : 형상 관리 도구(버전 관리) 웹 호스팅 서비스
버전 : 이전과 약간씩 다른 변화들을 구분하는 표시
협업하고 있는 코드를 저장할 서버가 필요하다.
버전 관리 시스템을 지원하는 웹 호스팅 서비스의 기능을 통해, push, pull request 등과 같은 기능을 활용할 수 있다.
웹 호스팅 서버를 통해, 하나의 프로그램을 분산된 컴퓨터들에서 다운로드 받아 각자 작업할 수 있다.
Github ; 형상 관리 도구(버전 관리) 웹 호스팅 서비스

5. SourceTree

개요
소스트리(SourceTree) : github를 gui로 나타낸 소프트웨어
기본 용어
활용법 (push하는 법)
원격 저장소 → 로컬 저장소
git clone [페이지 주소]
원격 저장소에서 로컬 저장소로 소스코드를 다운받는 명령어
로컬 저장소 → 원격 저장소
과정
원격 저장소로 보낼 로컬 저장소 폴더를 생성
GitHub 계정을 로그인하여 원격 저장소 생성
source tree에서 새탭을 열고 create 버튼을 클릭
탐색버튼 클릭 후 생성한 로컬 저장소 폴더 선택 후 생성 버튼 클랙
원격 저장소 주소 추가
터미널에서 master branch에서 main으로 변경
로컬 저장소에서 내용 추가
변경된 내용을 stage에 올리고 commit 메세지 작성 후 commit
push 버튼 클릭
Github에는 실행시킬 수 있는 파일들만 업로드 해야 한다.
ex. imi 확장자를 가진 파일, out/ 이하의 파일들과 같이 불필요한 파일들은 업로드 되지 않도록 설정해야 한다.
파일 설정 방법

기초 알고리즘 풀이

Tip - 반복되는 코드는 함수, 생성자 등을 활용해 최대한 추상화 해보기

1. 화폐 단위로 값 변환하기

#코드라이언 백엔드 2차 시험문제
HINT: 이 문제의 핵심은 나머지 연산자(%)와 몫 연산자(/)의 활용이다.
풀이 1
풀이 2

2. 홀수, 짝수 구별하기 1

codeup #1156
용준이와 봉찬이는 공기 놀이로 내기를 하였다. 만약 홀수 개의 돌을 쥐게 되면 용준이가 이기게 되고, 짝수 개의 돌을 쥐게 되면 봉찬이가 이기는 것으로 룰을 정하였다. 어떤 자연수가 입력되면 홀수이면 "odd"을 출력하고, 짝수이면 "even"을 출력하시오.
풀이 1

3. 홀수, 짝수 그리고 더하기

codeup #1161
정수 두개가 입력으로 들어온다. 만약 첫번째 정수가 홀수이면 "홀수"를 출력하고, 짝수이면 "짝수"를 출력한 후 "+"를 출력한다. 그리고 두번째 정수가 홀수이면 "홀수"를 출력하고, 짝수이면 "짝수"를 출력한 후 "="을 출력하고 결과로 나오는 값이 홀수인지 짝수인지 출력한다. 예를 들어, 5 7 이 입력되면 "홀수+홀수=짝수"가 출력된다. 5 6 이 입력되면 "홀수+짝수=홀수"가 출력된다.
풀이 1
풀이 2
풀이 3 (강사님 코드)