분류 전체보기

목차 개요 순열 및 조합을 생성할 때 재귀적으로 구현하지 않고 각 인덱스 값을 비교하여 모든 경우의 인덱스 값을 뽑아내는 방법입니다. 현 순열에서 사전 순(오름차순)으로 다음 순열을 생성합니다. 즉 배열을 가장 작은 값으로 정렬한 뒤, 한 자리씩 swap 하면 서 출력합니다. 예시) 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 (가장 큰 값) 장점 재귀로 짜여진 순열과 달리 시간 복잡도가 낮습니다. (재귀적 호출이 없고 인덱스의 값만 교체해주므로) 순열과 조합을 함께 사용할 수 있습니다. 단점 원래의 배열을 재배열하여 순열을 만드므로 nPr 과 같이 특정 개수의 순열을 만들 수 없습니다. 구현 소스 배열을 오름차순으로 정렬합니다. (1, 2, 3...) (모든 탐색은 오른쪽에서 왼쪽으..
문제출저 https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_B_2098_외판원순회 { static int n; static int[][] boa..
· DB/DB 답장
목차 RDB, RDBMS RDB(Relational Database)란 관계형 데이터 모델에 기초를 둔 데이터베이스 입니다. 관계형 데이터 모델이란 데이터를 구성하는데 필요한 방법 중 하나로 모든 데이터를 2차원의 테이블 형태(row, column)로 표현합니다. 관계형 데이터베이스는 다른 테이블과 관계를 맺고 모여있는 집합체로 이해할 수 있습니다. 이러한 관계를 나타내기 위해 외래 키(foreign key)라는 것을 사용하고 테이블 간 Join이 가능하다는게 RDBMS의 가장 큰 특징 입니다. 특징 테이블마다 스키마가 정의해야 합니다. 데이터는 정해진 데이터 스키마를 따라 데이터베이스 테이블에 Column, Row 형태로 저장됩니다. SQL 언어를 사용해 데이터를 다룹니다. 부하의 분산이 어렵다 데이터..
목차 개요 데이터베이스의 종류를 알아보기 전에 용어 정리를 먼저 하고 가겠습니다. 데이터베이스(Database, DB) 데이터베이스(Database, DB)는 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합입니다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색 및 갱신의 효율을 높인다. 즉, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. 같은 데이터라 할지라도 사용자는 각각의 응용 목적에 따라 다르게 사용할 수 있다. 사무 계산을 할 경우 각각의 업무 전용 데이터 파일을 사용하고 있지만 각 파일에는 중복된 정보가 들어있는 것이 많다. 이 중복을 피하여 정보를 일원화하..
목차 이클립스 이클립스 단축키, 설정 모음 단축키 목적 명령어 자동완성 Ctrl + Space 오류 힌트 보기 Ctrl + 1 (Class, Package 등) 생성 Ctrl + N 한 줄 삭제 Ctrl + D 자동으로 import 하기 Ctrl + Shift + O 에러 찾기 Ctrl + 1 현재 창 닫기 Ctrl + W 화면 최대로 열기 Ctrl + M 메소드나 필드 이동하기 Ctrl + O 파라미터 타입 힌트 보기 Ctrl + Shift + Space 로컬 변수 추출 Alt + Shift + L 메소드 추출 Alt + Shift + M 이름 바꾸기 Alt + Shirft + R 자동 줄 간격 Ctrl + Shift + F 주석 블록을 블록 주석으로 처리 Ctrl + Shift + / 블록 주석 제거..
문제출저 https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 문제풀이 배낭 문제, 냅색 알고리즘 문제로 조합 최적화를 찾아야 한다. 허용치 k인 배낭에 무게 w의 물건들을 담아서 물건들의 가치 v가 가장 높은 경우를 구해야한다. 문제를 해결하기 위해 2차원 int 배열인 dp를 활용한다. 2차원 배열인 dp의 가로줄은 배낭의 무게, 세로줄은 아이템을 배치한다. 1 2 3 4 5 6 ..
프로젝트 내의 txt 파일을 입력으로 받아 테스트케이스를 읽는 방법입니다. import java.io.InputStreamReader; public class Test{ public static void main(String[] args) throws IOException { System.setIn(new FileInputStream("input.txt")); } }
문제출저 https://www.acmicpc.net/problem/1480 1480번: 보석 모으기 첫째 줄에 보석의 개수 N, 가방의 개수 M, 가방의 최대 한도 C가 주어진다. N은 1보다 크거나 같고, 13보다 작거나 같은 자연수이고, M은 1보다 크거나 같고, 10보다 작거나 같은 자연수이다. C는 1보 www.acmicpc.net 문제풀이 주어진 가방을 이용해 최대한 많은 보석을 담는 방법을 구하는 문제이다. 이를 위해 중복을 줄여주는 비트마스크와 다이나믹프로그래밍, 완전탐색을 위한 DFS를 활용한다. int MAX = 14; dp = new int[1
소수 판별 함수 // 소수 구하는 함수 public static boolean prime(int number) { if(number == 1) return false; if(number == 2) return true; for(int i = 2; i*i
문제출저 https://www.acmicpc.net/problem/16929 16929번: Two Dots 첫째 줄에 게임판의 크기 N, M이 주어진다. 둘째 줄부터 N개의 줄에 게임판의 상태가 주어진다. 게임판은 모두 점으로 가득차 있고, 게임판의 상태는 점의 색을 의미한다. 점의 색은 알파벳 대문 www.acmicpc.net 소스코드 package studyGroup.july.july15; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokeniz..
문제출저 https://school.programmers.co.kr/learn/courses/30/lessons/87694 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스코드 import java.util.*; /* ㄷ 부분이 모두 걸린다 사이즈를 2배로 늘려라.. */ class Solution { static int n; static int h,w; static int[][] board; static int[][] visited; static int[] dx = {1,1,0,-1,-1,-1,0,1}; static int[] dy = {0,-1,-1..
문제출저 https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1 ≤ m ≤ 1,000)이 주어지고, 그 www.acmicpc.net 문제풀이 모든 부분수열의 합을 구해서 arr1, arr2에 저장 투포인터를 활용해 부분배열의 합과 똑같은 T를 찾는다. 소스코드 package studyGroup.july.july12; import java.io.BufferedReader; import java.io.IOException; import jav..
너지살
'분류 전체보기' 카테고리의 글 목록 (23 Page)