본문 바로가기

전체 글275

[Git] 프로젝트 변경 사항들을 버전에 담기 1. 프로젝트의 변경사항들을 타임캡슐(버전)에 담기 변경사항 확인 git status 추적하지 않는(untracked) 파일: Git의 관리에 들어간 적 없는 파일 파일 하나 담기 git add tigers.yaml git status로 확인 모든 파일 담기 git add . git status로 확인 2. 타임캡슐 묻기 아래 명령어로 commit git commit git에서 무언가를 commit 한다는 것은 새로운 버전으로 만든다는 의미이다. Vi 입력 모드로 진입 작업 Vi 명령어 상세 입력 시작 i 명령어 입력 모드에서 텍스트 입력 모드로 전환 입력 종료 ESC 텍스트 입력 모드에서 명령어 입력 모드로 전환 저장 없이 종료 :q 저장 없이 강제 종료 :q! 입력한 것이 있을 때 사용 저장하고 종료.. 2022. 3. 14.
[Git bash] Windows에서 Git bash 다운 받고 초기 설정하기 버전 관리란? 버전 관리 시스템은 파일 변화를 시간에 따라 기록했다가 나중에 특정 시점의 버전을 다시 꺼내올 수 있는 시스템이다. Git이란? 분산형 버전 관리 시스템(Version Control System) 의 한 종류이며, 빠른 수행 속도에 중점을 둔다. Git 기본 용어 Git을 사용하기 위해 알아야 할 용어 몇가지가 있다. Repository: 저장소를 의미하며,저장소는 히스토리, 태그, 소스의 가지치기 혹은 branch에 따라 버전을 저장한다. 저장소를 통해 작업자가 변경한 모든 히스토리를 확인 할 수 있다. Working Tree : 저장소를 어느 한 시점을 바라보는 작업자의 현재 시점. Staging Area : 저장소에 커밋하기 전에 커밋을 준비하는 위치. Commit : 현재 변경된 작.. 2022. 3. 14.
[BAEKJOON] 2606번 바이러스 이차원배열에 인접된 컴퓨터 번호를 인덱스로 간주하여 연결된 컴퓨터들은 모두 1로 채운다. 이차원배열을 이용할 때 arr[][] 배열이 있을 때 컴퓨터 1번과 2번이 연결된 것을 표현하기 위해서는 아래와 같이 인접행렬 방식으로 행과 열의 인덱스를 바꿔도 연결된 것을 알 수 있도록 한다. 1번과 2번이 연결됐다 == 2번과 1번이 연결됐다 arr[1][2] = 1; arr[2][1] = 1; 인덱스 1(1번 컴퓨터)를 시작으로 연결된 컴퓨터를 찾는다면 해당 컴퓨터와 연결된 또 다른 컴퓨터를 찾기 위해 큐에 저장한다. 큐가 텅 빌 때까지 반복하며 연결된 컴퓨터를 찾아 개수를 센다. 모든 연결된 컴퓨터의 개수를 찾는 것이 아닌, 1번 컴퓨터와의 연결관계만 확인하면 되기 때문에 bfs()를 호출할 때 매개인자로 .. 2022. 3. 14.
[BAEKJOON] 1931번 회의실 배정 이차원 배열에 회의 시작시간과 종료시간을 저장한다. 이전 회의의 종료 시간과 이후 회의의 시작 시간이 서로 겹치지 않으면 된다. 또한, 최대한 많은 회의를 진행하려면 종료시간이 빠른 것을 선택한다. 예제 입력의 회의 시작 시간과 종료 시간 문제의 힌트에서 보이는 바와 같이 총 회의는 4번으로 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. 위의 그래프와 같이 종료시간을 기준으로 정렬하고, 다음 회의는 시작 시간이 같을 경우 회의시간이 짧은 것을 우선으로 선택하면 된다. Comparator 인터페이스를 구현하여 입력되는 값의 종료 시간을 기준으로 오름차순 정렬한다. 즉, 종료시간이 작을 수록 앞쪽에 배치된다. (Comparator 인터페이스 사용법을 아직 모른다면 아래 글 참조해.. 2022. 3. 13.
[JAVA] Comparable과 Comparator 이전 글과 함께 백준 문제 풀이 도중 2차원 배열 정렬을 해야하는 상황이 발생했다. 일차원 배열의 경우 Arrray.sort()를 통해 쉽게 오름차순 정렬이 가능하다. import java.util.Arrays; public class Comparable_Comparator { public static void main(String[] args) { int arr[] = {1, 7, 2, 6, 8, 5, 3, 4}; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); // [1, 2, 3, 4, 5, 6, 7, 8] } } 하지만, 2차원 배열을 바로 Arrray.sort()를 통해 정렬하려고 하면 java.lang.ClassCastException.. 2022. 3. 13.
[JAVA] 원시타입(Primitive Type) / 참조타입(Reference Type) 백준 문제 풀이 도중 primitive 타입 이외의 Reference 타입 정렬 부분을 구현해야 했다. (Arrays.sort()의 인자로는 primitive 타입의 변수만 가능하다는 것을 알게 되어 글을 요약정리하게 되었다.) primitive 타입이란 무엇인가? 자바에서는 데이터 타입이 크게 두 가지로 원시 타입(Primitive Type)과 참조타입(Reference Type)이 있다. 원시 타입은 우리가 너무나도 많이 사용하는 정수, 실수, 문자, 논리 리터럴등의 실제 데이터 값을 저장하는 타입이고, 참조 타입은 객체(Object)의 번지를 참조(주소를 저장)하는 타입으로 메모리 번지 값을 통해 객체를 참조하는 타입이다. 원시 타입(Primitive Type) 종류 데이터형 크기(byte / bi.. 2022. 3. 13.