분류 전체보기

Gyoogle (규글)
[백준 1931] 회의실 배정
[백준 1931] 회의실 배정 문제 출처 : 링크 그리디 알고리즘에 해당하는 문제다. 즉, 최적의 해를 찾기 위한 알고리즘을 짜야하는데, 반례를 잘 찾아가면서 풀어야 한다. 작년에 풀었던 문제였지만, 다시 풀어봐도 반례를 다 생각하지 못해서 상당히 고생했다ㅠ 가장 많은 회의를 진행할 수 있도록 하려면, 가장 빨리 끝나는 회의를 찾아야 한다는 걸 알아내야 한다. 이런 문제는 그냥 많이 풀어보면서 어느정도 감을 익히는게 제일 좋지 않은가 싶다... 나는 우선 class를 하나 만들어 회의에 대한 시작 시간과 종료 시간을 저장했다. 그리고 각 회의 정보를 하나의 리스트에 저장했고, 회의 종료 시간이 빠른 순으로 보기 위해서 Comparator를 활용해 종료시간 오름차순으로 정렬했다. (이때 int값을 활용해서..
[swexpert 2819] 격자판의 숫자 이어 붙이기
·Algorithm/SWEA
[swexpert 2819] 격자판의 숫자 이어 붙이기 문제 출처 : 링크 4x4 말판에 0~9까지 임의의 수가 작성된다. 지나온 말판도 다시 지나갈 수 있는 것이 포인트. dfs로 접근하는데 방문하는 부분을 따로 지정하지 않으면 될 것 같다. 말판에서 총 6번 움직이면서 (처음에 시작하는 지점 포함) 총 7자리의 수가 만들어지면 저장한다 이때 모든 경우의 수를 진행하면서, 중복되는 부분은 없애고 총 몇 가지 수를 만들 수 있는 지 구해야하는 문제다. 숫자를 int로 만들지 않고, 그냥 문자열로 받아서 저장하는 방식으로 접근했다. HashSet에 저장하면, 중복되는 부분은 추가로 저장하지 않으므로 이 문제에서 사용하면 좋을 것 같아서 적용해봤다. 만약 ArrayList나 배열을 사용한다면, 저장 전에 조..
[백준 1012] 유기농 배추 (DFS, BFS)
[백준 1012] 유기농 배추 (DFS, BFS) 문제 출처 : 링크 DFS와 BFS를 활용해서 모두 풀 수 있는 문제다. 1로 표시된 구간마다 묶어서 총 몇 개가 있는지 구해야 한다. 예전에 처음 공부하면서 풀었던 백준 2667번 단지번호 문제(링크)와 유사하다. DFS 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenize..
[운영체제] 프로세스/스레드
·CS/운영체제
1주차 스레드 [운영체제] 프로세스/스레드 프로세스사전적 정의 : 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램과거의 MS-DOS와 같은 운영체제에서는 한번에 한가지 작업만 가능했음. 이때 하드디스크에 설치 되어있는 프로그램을 메모리 상에서 실행중인 작업을 프로세스라고 함기본적으로 프로세스마다 최소 1개의 스레드를 갖고 있음 (각 프로세스는 별도의 주소공간 할당) 최근 대표적 운영체제(윈도우, 리눅스, 유닉스)에서는 한번에 여러가지 작업을 동시에 처리할 수 있음. 이처럼 여러개의 프로세스를 동시에 실행하는 것을 멀티태스킹이라고 함 하나 이상의 프로세스에서 병렬로 작업을 처리하는 것이 멀티프로세스 프로세스 구조 Code, Data, Stack, Heap의 구조로 되어있는 독립된 메모리 영역 할당받음C..
운영체제(Operating System)란?
·CS/운영체제
운영체제 운영체제란?디바이스를 유연하고 예측 가능한 방식으로 동작할수 있도록 하기 위해 소프트웨어와 하드웨어를 제어하는 프로그램컴퓨터 하드웨어와 컴퓨터 사용자 간의 매개체 역할을 하는 시스템 소프트웨어이며, 컴퓨터의 시스템을 편리하게 이용할 수 있고 자원(CPU, IO, HDD, Memory)을 잘 관리해 주는 것이다.따라서 자원 관리를 잘 해주는 것이 좋은 운영체제라고 말할 수 있음 운영체제 컴포넌트프로세스 관리메모리 관리파일 관리장치 관리프로세스 : 메인 메모리에서 실행 중인 현재 프로그램 운영체제 종류 일괄처리 운영체제다량의 작업을 모아서 한꺼번에 일괄적으로 처리하는 자동화 방식다량의 데이터를 처리하거나 단순 반복 처리, 초창기 컴퓨터에서 주로 사용했음한번에 하나의 프로그램 수행, 운영체제는 항상 ..
[자바(java)/스프링(spring)] 면접 질문 모음
·Java
README 자바, 스프링 면접 질문1. OOP가 뭐죠?2. 자바의 메모리 영역에 대해서 설명해보세요.3. 인터페이스가 뭐죠? 왜 사용하나요?4. 메모리 상수풀 영역에 대해 설명해보세요.5. jdbc가 무엇인가요?6. 직렬화란 무엇인가요 ?7. serialVersionUID를 선언해야 하는 이유는 뭔가요?8. 리플렉션이란 무엇인가요?9. 자바의 클래스 멤버 변수 초기화 순서에 대해 설명하세요10. Servlet과 JSP를 비교해서 설명하세요11. 제너릭이 무엇인가요?12. 컬렉션 클래스에서 제너릭을 사용하는 이유를 설명하세요13. pojo가 무엇인가요?14. 박싱과 언박싱에 대해 설명하세요15. 데드락이 무엇이고, 해결방법에 대해 설명해보세요16. 상속과 컴포지션(합성)의 차이에 대해서 설명해보세요17...
[swexpert] 1224. 최단 경로
·Algorithm/SWEA
[swexpert] 1224. 최단 경로 문제 출처 : 링크 최단 경로를 찾기 위해 순열을 활용하여 모든 경우를 진행해보고, 가장 경로가 짧은 값을 저장해야 한다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringT..
[알고리즘] 백트래킹을 활용한 부분 집합 & 순열
[알고리즘] 백트래킹을 활용한 부분 집합 & 순열 백트래킹 부분 집합 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364/** * * powerset 구하기 * */ public class powerset_backtrack { static int[] arr = {3, 5, 8}; // arr 배열의 모든 부분집합을 구해보자 public static void main(String[] args) { boolean[] a = new boolean[arr.length]; // 부분집합에서 원소를 사용할 지 여부를 체크할 배열 backtrack(a, 0..
[백준 6588] 골드바흐의 추측
[백준 6588] 골드바흐의 추측 문제 출처 : https://www.acmicpc.net/problem/6588 답을 찾는 건 어렵지 않으나 시간 초과의 늪에 빠지는 문제 에라토스테네스의 체 공식을 통해 소수를 판별하기 위한 시간을 최대한 줄여나가야 함 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Problem6588 { public static boolean[] s = new boolean[1000..
[백준 10798] 세로 읽기
[백준 10798] 세로 읽기 문제 출처 : https://www.acmicpc.net/problem/10798 1234567891011121314151617181920212223242526272829303132333435import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Problem10798 { static String[][] map; static int n; //static int max = 0; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader..
[백준 1389] 케빈 베이컨의 6단계 법칙
[백준 1389] 케빈 베이컨의 6단계 법칙 문제 출처 : https://www.acmicpc.net/problem/1389 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.Strin..
[백준 11724] 연결 요소의 개수
[백준 11724] 연결 요소의 개수 문제 출처 : https://www.acmicpc.net/problem/11724 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Problem11724 { static int[][] map; static boolean[] visited; static int n; // 정점 개수 static int m; // 간선 개수 static int coun..
[백준 2178] 미로 탐색
[백준 2178] 미로 탐색 문제 출처 : https://www.acmicpc.net/problem/2178 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue; class xy { // 좌표 x,y를 저장할 클래스 생성 int x; int y; xy(int x, int y){ this.x = x..
[백준 1260] DFS와 BFS - 인접 행렬 이용
[백준 1260] DFS와 BFS 문제 출처 : https://www.acmicpc.net/problem/1260 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue; public class Problem1260 { static int[][] map; static..
[백준 10026] 적록색약
[백준 10026] 적록색약 문제 출처 : https://www.acmicpc.net/problem/10026 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Problem10026 { static char map[][]; static boolean visited[][]; static int n; s..
[백준 2468] 안전 영역
[백준 2468] 안전 영역 문제 출처 : https://www.acmicpc.net/problem/2468 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; public class Problem2468 { static int[][] map; // 2차원 배열 생성 static boolean[][] visited; // 방문한 영역 확인할 2차원 boolean 배열 생성..
[알고리즘] Queue
[알고리즘] Queue Queue 1234567891011121314151617181920212223242526272829303132333435363738394041424344public class Queue { public static int front = -1; public static int rear = -1; public static int[] q = new int[5]; public static boolean isFull() { return rear == q.length -1; } public static boolean isEmpty() { return front == rear; } public static void enQueue(int item) { if(isFull()) { System.ou..
[백준 2667] 단지번호 붙이기
[백준 2667] 단지번호 붙이기 문제 출처 : https://www.acmicpc.net/problem/2667 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192import java.util.ArrayList;import java.util.Collections;import java.util.LinkedList;import java.util.Queue;import java.util.Scanner; public class Problem2667 {..
[swexpert] 1228. 암호문1
·Algorithm/SWEA
[swexpert] 1228. 암호문1 문제 출처https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14w-rKAHACFAYD&categoryId=AV14w-rKAHACFAYD&categoryType=CODE 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList; ..
[알고리즘] 순열 & 조합
[알고리즘] 순열 & 조합 조합 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader; /** * * 조합 4 2 (4C2) 0 1 0 2 0 3 1 2 1 3 2 3 * */ public class comb { public static void comb(int[] set, int size, int n, int k, int index){ if(k==0) { for (int i = 0; i
[백준 1874] 스택 수열
[백준 1874] 스택 수열 문제 출처 : https://www.acmicpc.net/problem/1874 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Stack; public class Problem1874 { public static void main(String[] args) throws IOException { BufferedReader br = ne..
[백준 1057] 토너먼트
[백준 1057] 토너먼트 문제 출처 : https://www.acmicpc.net/problem/1057 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;​public class Problem1..
[알고리즘] 후위표기법
[알고리즘] 후위표기법 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import java.util.ArrayList;import java.util.Scanner;import java.util.Stack; public class 후위표기법 { public static int priority(char ch) { switch (ch) { case '*': case '/': return 2; case '+': case '-': return 1; case '(': case ')': return 0; }..
[Java] 필수 개념 정리
·Java
자바자바 특징객체 지향플랫폼 독립적간단함 (메모리 관리)분산 프로그래밍 지원멀티 스레드객체 지향 특징추상화캡슐화상속다형성기본형정수 타입: byte (1byte), short (2byte), int (4byte), long (8byte)부동소수점 타입: float (4byte) , double (8byte) 부울 타입: boolean (1byte) // true,false 두 가지 값만 표현 문자 데이터 타입: char (2byte)float에는 꼭 F 붙여야 함 float a = 10.2FArray배열 복사 : arraycopy메모리 공간스택 : 메소드 수행힙 : 객체 생성클래스 area : 클래스, static 정보 등가비지 컬렉션힙 영역(클래스 포함)에 생성된 객체들의 메모리를 관리하는 프로그램사용하..
[백준 8979] 올림픽
[백준 8979] 올림픽 문제 출처 : https://www.acmicpc.net/problem/8979 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128import java.util.Arrays;import java.util.Collections;import jav..
[백준 10819] 차이를 최대로
[백준 10819] 차이를 최대로 문제 출처 : https://www.acmicpc.net/problem/10819 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263import java.util.Scanner; public class Problem10819 { static int[] t = new int[27483084]; // static으로 배열 선언 static int cnt = 0; // static으로 int형 변수 선언 public static void swap(int[] arr, int a, int b){ // swap 메소드 int..
[백준 1182] 부분집합의 합
[백준 1182] 부분집합의 합 문제 링크 : https://www.acmicpc.net/problem/1182 1234567891011121314151617181920212223242526272829303132333435363738394041424344import java.util.Scanner; public class 백준1182 { static int cnt = 0; public static void subset(int[] set, int size, int n, int[] arr, int index, int s) { if(n == index) { int sum = 0; for (int i = 0; i
[swexpert] 1210. Ladder1
·Algorithm/SWEA
[swexpert] 1210. Ladder1 문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14ABYKADACFAYh&categoryId=AV14ABYKADACFAYh&categoryType=CODE 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import java.util.Scanner; public class Solution { static int[][] data = ne..
[swexpert] 1225. 암호생성기
·Algorithm/SWEA
[swexpert] 1225. 암호생성기 문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14uWl6AF0CFAYD&categoryId=AV14uWl6AF0CFAYD&categoryType=CODE 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354import java.util.Scanner; public class SW문제해결_암호생성기 { static int[] arr = new int[10]; public static void cycle(int[] a) { //..
[swexpert] 1206. View
·Algorithm/SWEA
[swexpert] 1206. View 문제 출처 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh&categoryId=AV134DPqAA8CFAYh&categoryType=CODE 123456789101112131415161718192021222324252627282930313233343536373839import java.util.Scanner; public class SW문제해결_View { static int[][] arr = new int[1000][255]; // 배열 생성 public static void main(String[] args) { Scanner sc ..
Gyoogle
'분류 전체보기' 카테고리의 글 목록 (6 Page)