본문 바로가기

algorithm62

HackkerRank: ARRAYS-LEFT ROTATION (JAVA) 1. Link to the problem https://www.hackerrank.com/challenges/ctci-array-left-rotation/problem 2. Point Use memory 3. Source public class ArraysLeftRotation { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); int k = in.nextInt(); int a[] = new int[n]; for (int a_i = 0; a_i 2018. 2. 27.
[BOJ] 9465 스티커 (java) [BOJ] 9465 스티커 (java) 1. point & feedback 행 0부터 시작, 열 0부터 시작 dp[0][N] : 0열에서 출발하여 (0, N) 위치까지의 score 의 합 dp[1][N] : 0열에서 출발하여 (1, N) 위치까지의 score 의 합 ex) (0,0) 에서 처음 시작했다면 다음 선택할 수 있는 수는 대각선 (1,1) / (1,2) 이다. (0,2), (1,2) 는 선택해봐야 최대 값이 될 수 없음 (0,0) -> (1,1) -> (0,2) 를 가면되니 최대 값이 될 수 없음. dp[0][N] = Math.max(dp[1][N-1], dp[1][N-2]) + score[0][N] ex) dp[0][2] 이라 하자. dp[1][1], dp[1][0] 중 하나를 고를 수 있음... 2018. 1. 30.
[백준 알고리즘] 1005번 ACM Craft [백준 알고리즘] 1005번 ACM Craft (java) 1. point & feedback 건설순서 자료구조를 어떤걸 사용할 것인가? 나는 순서를 클래스에 담아 하나씩 찾는 것을 구현했는데 다른 사람꺼 참조하니 건물 순서를 ArrayList[] 에 담아서 처리 함. 배열의 ArrayList 를 사용하면 ArrayList 가 여러개 있는 것이다. 즉, 하나의 ArrayList Index에 건물 번호를 넣고. 선행 건물 순서를 value 로 넣는 것이지. 그런 뒤 ArrayList[Index] 의 value 중 가장 큰 것을 가져오는 것이지. 이게 내 것보다 Simple 하고 좋은 Answer 이다. 순서를 정한 뒤 시간을 구해야하는데 시간은 최대 시간을 구해야한다. 이를 어떻게 해결할 것인가? 컴퓨터가.. 2018. 1. 29.
[백준 알고리즘] 1004번 어린왕자 (java) [백준 알고리즘] 1004번 어린왕자 (java) 1. 피드백 처음에 좌표 대소 비교로 풀었는데 복잡하고 식을 잘못 생각함. 거리 비교로 다시 품. 2. Source import java.util.Scanner; public class Num1004 { public static void main(String [] args) { Scanner sc = new Scanner(System.in); int T = sc.nextInt(); int x1, y1, x2, y2, n, count = 0; Planet planet; for (int i = 0 ; i < T ; i++) { count = 0; x1 = sc.nextInt(); y1 = sc.nextInt(); x2 = sc.nextInt(); y2 = s.. 2018. 1. 29.