[ 백준 단계별 알고리즘 ] 브루트 포스(Brute Force) - JAVA
·
algorithm
완전탐색(Exhaustive Search) : 가능한 모든 경우의 수를 전부 탐색하여 문제를 해결하는 방법Brute Force : 반복문이나 조건문을 사용하여 가능한 모든 경우를 하나씩 모두 테스트하는 방법순열(Permutation) : 주어진 n개의 원소 중에서 r개의 원소를 선택해 순서대로 나열하는 모든 경우의 수를 찾는 방식 -> 조합, 순서문재귀 : 재귀 호출을 통해 문제를 여러 작은 하위 문제로 분할하여 해결하는 방법 -> DFS(깊이 우선 탐색)비트 마스크(Bit Mask) : 이진수를 이용하여 특정 상태나 조합을 표현하는 기법BFS(너비 우선 탐색), DFS(깊이 우선 탐색) : 그래프의 노드탐색 기법 Brute Force의 사용조건달성하고자 하는 솔루션이 명확함풀이의 수가 제한 [ 백준 2..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter6. 완전탐색(1)
·
algorithm
자리수 단위로 완전탐색 각 자리의 조합상황을 가정하고 진행해보는 완전탐색 방법을 이용할 수 있다. ( for문을 이용 )  [ 개념문제 ] 세 자리를 정하여 완전탐색 : 일렬로 서 있는 소2https://www.codetree.ai/missions/5/problems/cattle-in-a-rowing-up-2?&utm_source=clipboard&utm_medium=textN마리의 소가 x = 1부터 x = N까지 순서대로 서 있습니다. 각 소의 키는 Ai​이며, 예를 들어 첫 번째 위치에 놓여있는 소의 키는 A1​입니다. 3마리의 서로 다른 소의 위치를 (i, j, k)라고 했을 때, i 첫 번째 줄에 N이 주어집니다.두 번째 줄에는 N마리의 소의 키 정보 Ai​가 공백을 사이에 두고 순서대로 주어집..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter5. 시뮬레이션(2)
·
algorithm
1. 최장연속 부분수열  수열 (2, 2, 7, 7, 7, 7, 5, 7, 7)이 주어졌을 때, 연속해서 나오는 같은 숫자를 한 묶음이라 봤을 때, 총 몇 개의 묶음이 있을까요? i번째 index에 해당하는 원소를 a[i]라 했을 때 a[i] ≠ a[i - 1] 인 경우를 찾으면 된다.그러나 i가 0인 경우에는 직전 원소를 정의할 수 없으므로, 따로 예외적으로 처리를 해줘야 함에 유의해야한다.즉, 연속수열의 수를 세는 조건은 i가 0이거나 a[i] ≠ a[i - 1]인 경우가 된다.int cnt = 0;for(int i = 0; i  이때 인덱스 비교조건( a[i] ≠ a[i - 1] )을 먼저 수행하면 i가 0인 경우에 a[i] ≠ a[i - 1] 에 대한 비교를 진행하게 되기 때문에 Runtime e..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter4. 시뮬레이션(1)
·
algorithm
1. 날짜와 시간 계산  [ 개념문제 ]2011년 11월 11일 a시 b분에서 시작하여 2011년 11월 11일 c시 d분까지 몇 분이 걸리는지를 계산하는 프로그램을 작성해보세요. 풀이1 : a시 b분에서 시작하여 1분 단위로 시뮬레이션을 하며, 60분이 되면 시간을 늘리고 분을 다시 0으로 맞추는 식으로 진행한다.import java.util.Scanner;public class Main { public static void main(String[] args) { // 여기에 코드를 작성해주세요. Scanner sc = new Scanner(System.in); int a = sc.nextInt(); //hour int b = sc.nextInt(..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter3. 정렬
·
algorithm
1. 일반정렬import java.util.Arrays;import java.util.Collections;int n = sc.nextInt();int[] nums = new int[n];for(int i = 0; i  내림차순(Collections.reverseOrder)적용을 위한 객체배열로 변환 과정 : 배열의 스트림 생성 -> 박싱(원시타입 요소들을 래퍼클래스 요소들로 변환) -> 객체 배열로 변환 // 문자 사전순 정렬char[] chars = str.toCharArray();Arrays.sort(chars);String sortedStr = new String(chars);System.out.println(sortedStr); 문자의 사전순 정렬후 출력 : char배열로 변환한뒤 정렬한다.  ..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter2. 재귀함수
·
algorithm
재귀함수란? 정의된 함수 f가 해당 함수를 구현하는 데 동일한 함수 f를 다시 이용하게 되는 것을 말한다. 재귀함수에서는 종료조건을 올바르게 설정할때 무한 반복호출없이 올바르게 동작할 수 있다.public class Main { public static void printStar(int n) { if(n == 0) // n이 0이라면 퇴각 = 종료조건 return; printStar(n - 1); // 1부터 n - 1번째 줄까지 출력하는 함수 System.out.println("*****"); // n..
[ 코드트리 조별과제 ] 프로그래밍 연습 - Chapter1. 함수
·
algorithm
함수란? 원하는 목적( ex. 반복 )을 하나의 도구처럼 사용할 수 있도록 해주는 도구 public static void print5Stars() { 코드 작성 } static : 정적함수의 표기, 자바의 main함수가 static으로 정의되어 있기 때문에 꼭 함수 선언시 static을 적어줘야 함반환타입 : 반환값이 없는경우 void로 표기함수이름 : camel case에 따라 이름을 표기 1. 값을 반환하지 않는 함수 반복작업을 수행하는 함수10개의 별찍는 것을 5번 반복하기 문제 : 출력작업을 함수print10Stars()로 정의하여 간단하게 반복적인 처리가 가능하다. public class Main { public static void print10Stars() { for(int i = 0; i ..
갬짱
'algorithm' 카테고리의 글 목록