본문 바로가기

전체 글133

[개발/Git] Git 시작하기 (Git의 역사, Git 설치하기) Git이란? Git은 개발 과정 중에 일어나는 변경 사항을 추적하기 위한 대표적인 형상관리 툴이다. 형상 관리 소프트웨어 구성 관리(영어: Software Configuration Management) 또는 형상 관리는 소프트웨어의 변경사항을 체계적으로 추적하고 통제하는 것으로, 형상 관리는 일반적인 단순 버전 관리 기반의 소프트웨어 운용을 좀 더 포괄적인 학술 분야의 형태로 넓히는 근간을 이야기한다. 일반적으로 형상 항목(영어: Configuration Item)이라는 형태로 작업 산출물을 선정하고, 형상 항목 간의 변경 사항 추적과 통제 정책을 수립하고 관리한다. 위키피디아, "구성 관리", https://ko.wikipedia.org/wiki/%EA%B5%AC%EC%84%B1_%EA%B4%80%EB.. 2022. 9. 16.
[코딩테스트/백준 알고리즘] 15649번 : N과 M(1) (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 문제 설명 문제 풀이 재귀를 이용한 브루트포스 문제다. 코드 import java.util.*; class Main { static boolean[] num = new boolean[9]; static int[] candi = new int[9]; static StringBuilder sb = new StringBuilder(); static void func(int i, int N, in.. 2022. 9. 15.
[코딩테스트/백준 알고리즘] 1107번 : 리모컨 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 문제 설명 문제 풀이 입력값이 100인 경우 class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt();//이동하려는 채널 int channel = 100;//현재 채널 int result = Math.abs(N - channel);//.. 2022. 9. 4.
[코딩테스트/백준 알고리즘] 1476번 : 날짜 계산 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 문제 설명 문제 풀이 나머지 연산을 사용했다. 어떤 수를 n으로 나눈 수의 나머지는 절대 n을 넘을 수 없다. int earth = result % 15; if(earth == 0) earth = 15; int sun = result % 28; if(sun == 0) sun = 28; int moon = result % 19; if(moon == 0) moon = 19; 코드 import java.. 2022. 9. 3.
[코딩테스트/백준 알고리즘] 3085번 : 사탕 게임 (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/3085 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 문제 설명 문제 풀이 이 문제를 풀면서 까다로웠던 것은 기준이 되는 칸의 위치에 따라 자리를 바꿀 수 있는 방법의 수가 달라진다는 것이다. 이 경우를 따로 처리해주기가 매우 번거롭기 때문에 이런 경우 쉽게 해결할 수 있는 방법을 소개하겠다. 게임 판(board)의 상하좌우로 테두리를 만들어주면 모든 경우에 대해 자리를 옮기는 방법을 4가지로 통일할 수 있다. 자료구조 int N = Integer.parseInt(br.readLine());//게임 판의 사이즈 char[][] board = new char[N .. 2022. 9. 3.
[코딩테스트/알고리즘] 브루트 포스(Brute Force) 브루트 포스 브루트 포스는 가능한 모든 경우의 수를 다 시도해보면서 문제를 푸는 방식이다. 이때, 경우의 수를 모두 해보는데 걸리는 시간이 문제의 제한시간을 넘기지 않아야 한다. 예시) 숫자로만 이루어진 n자리 비밀번호 알아내기 비밀번호의 자리수 가능한 범위 경우의 수 입력 하나에 1초로 따진 소요시간 4자리 0000 ~ 9999 10000가지 10000초 = 약 2.7시간 5자리 00000 ~ 99999 100000가지 100000초 = 약 1일 3시간 6자리 000000 ~ 999999 1000000가지 1000000초 = 약 11일 12시간 12자리 000000000000 ~ 999999999999 1000000000000가지 1000000000000초 = 약 31688년 브루트 포스로 문제를 풀기.. 2022. 9. 2.