Algorithm

· Algorithm
- 알고리즘 분류 : 구현 - 사용 언어 : JAVA - 문제 요점 입력받은 점수를 문자열로 받고 split함수를 이용하여 문자열 배열에 넣는다. 기준점 = 문자열의 길이 / 2 기준점 좌측 합계와 우측 합계가 같으면 LUCKY 출력, 다르면 READY 출력 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub BufferedReader br = new Bu..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. (원본 소스코드 : https://github.com/ndb796/python-for-coding-test/) 1. 모험가 길드 import java.util.Arrays; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int num = sc.nextInt(); int[] arr = new int[num]; for (int i = 0; i < num; i++) { arr[i]=(sc.nextInt()); } // 배열 정렬 Array..
· Algorithm
- 알고리즘 분류 : DP(동적계획법), Bottom-Up 방식 - 사용 언어 : JAVA - 문제 요점 마지막 열을 기준으로 윗 스티커를 선택했을 때와 아래 스티커를 선택했을 때의 최댓값을 구하여 큰 값을 반환 현재 열의 선택한 스티커를 기준으로 동시에 선택할 수 있는 스티커를 확인하면 된다. 참고한 블로그 : https://fbtmdwhd33.tistory.com/76 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void mai..
· Algorithm
이 포스팅에서 작성하는 내용은 이것이 취업을 위한 코딩테스트다 (나동빈 지음) 에서 발췌하였습니다. (원본 소스코드 : https://github.com/ndb796/python-for-coding-test/) 1. 소수 판별하기 1) 소수를 판별하는데 제곱근까지만 확인하면 된다. - 소수(Prime Number) : 2보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 떨어지지 않는 자연수 - a라는 자연수를 소수인 지 확인하기 위해서는 2~(a-1) 의 수로 나누어 지는 지 확인해야한다. - 하지만 a의 제곱근까지만 확인해도 충분하다. (아래의 소스코드 참고) public class Main { // 소수 판별 // 2 이상의 자연수만 판별 가능 public static boolean isPr..
· Algorithm
- 알고리즘 분류 : DFS + BFS - 사용 언어 : JAVA - 문제 요점 빙하가 녹는 데, 빙하가 두 개 이상의 그룹으로 나누어질 때까지의 최소 시간을 구하는 문제 바닷물과 인접한 빙하는 1년이 지날 때 마다 높이가 1만큼 녹는다.. BFS를 이용하여 바닷물과 인접한 빙하를 녹인다. DFS를 이용하여 빙하의 그룹의 갯수를 확인한다. 소스 설명은 주석을 참고해주세요. import 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.ut..
· Algorithm
- 알고리즘 분류 : DFS - 사용 언어 : JAVA - 문제 요점 상근이 집에서 축제하는 곳까지 갈 수 있는 지 없는 지 를 구하는 문제 워셜-플로이드 알고리즘을 이용할 수 있지만, 갈 수 있냐 없냐를 구하는 것이기에 필자는 DFS 이용 두 좌표 사이의 거리 : x 좌표의 차이 + y 좌표의 차이 맥주 20병을 가지고 있고, 한 병당 50m 이동 가능하므로 편의점을 들리지 않는다면 최대 1000미터 이동 가능 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTo..
· Algorithm
- 알고리즘 분류 : DFS - 사용 언어 : JAVA - 문제 요점 청소기가 방을 돌아다니며 청소한 방의 수를 구하는 문제 로봇청소기의 작동하는 방식을 그대로 구현하면 어렵지 않은 문제 DFS를 이용하여 풀이 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { // N x M 크기의 맵 // r,c : 현재 청소기의 위치. d : 청소기의 방향 public static int N, M, r, c, d; // 맵 public static int[][] map; /..
· Algorithm
- 알고리즘 분류 : BFS - 사용 언어 : JAVA - 문제 요점 현재 층에서 특정 층으로 가는 최소 경로(버튼을 적게 누르는)를 구하는 문제 엘리베이터는 1층부터 존재하는 것을 유의 F층까지 갈 수 있으므로 방문 체크용 배열은 F+1만큼 크기 할당 BFS를 이용하여 풀이 소스 설명은 주석을 참고해주세요. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { // F : 건물의 전체 층 수 // G :..
멍목
'Algorithm' 카테고리의 글 목록 (17 Page)