일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- 네트워크
- baekjoon
- Java8
- BFS
- 스프링
- 프로그래머스
- lambda
- 알고리즘
- java
- algorithm
- TDD
- kotlin
- 자바
- DFS
- programmers
- 백트래킹
- DP
- 모던자바
- 프로젝트
- Spring
- 백준
- 운영체제
- 자료구조
- OS
- 그래프
- LEVEL2
- Brute-force
- backtracking
- back-end
- 코틀린
- Today
- Total
목록백준 (37)
요깨비's LAB

import java.util.* var k = 0 var inEqualitySigns: Array? = null var visited: Array? = null var results = mutableListOf() fun main() { val scr = Scanner(System.`in`) k = scr.nextInt() visited = Array(10) { false } inEqualitySigns = Array(k) { "" } for (i in 0 until k) { val element = scr.next() inEqualitySigns!![i] = element } doAlgorithm(0, "", -1) results.sort() println(results[results.size-1])..

import java.util.* import kotlin.math.abs var max = Int.MIN_VALUE val visited = mutableListOf() var N = 0 fun main() { val scr = Scanner(System.`in`) val arr = mutableListOf() N = scr.nextInt() for(i in 0 until N) { val element = scr.nextInt() arr.add(element) visited.add(false) } for(i in 0 until N) { visited[i] = true getMax(1,i, arr, 0) visited[i] = false } println(max) } fun getMax(current:I..

import java.util.* var isComplete = false class ZeroArea( var row: Int, var col: Int, var visited: Array = Array(9) { false } ) val map = Array(9) { Array(9) { 0 } } fun main() { val scr = Scanner(System.`in`) val zeroAreas = mutableListOf() for (i in 0 until 9) { for (j in 0 until 9) { map[i][j] = scr.nextInt() if (map[i][j] == 0) { zeroAreas.add(ZeroArea(i, j)) } } } for (zeroArea in zeroAreas..

import java.util.* var N: Int = 0 var M: Int = 0 val sb = StringBuffer() fun main() { val scr = Scanner(System.`in`) N = scr.nextInt() M = scr.nextInt() for(i in 1..N) { val str = StringBuffer() dfs(i, str.append(i).append(" "), 1) } print(sb.toString()) } fun dfs(n:Int, str: StringBuffer,count: Int) { if(count == M) { sb.append(str.toString() + "\n") return } val n = n+1 for(i in n..N) { var s ..

1. 딜러가 부른 값에 일치하거나 가장 근접한 값을 꺼내야 하므로, Priority Queue를 활용하기로 결정하였습니다. (내림 차순 정렬) 2. 전체 탐색을 하여 계산한 결과가 딜러가 부른 값을 초과하지 않을 경우 pq에 저장합니다. 3. 전체 탐색 과정 중 딜러가 부른 값과 같은 결과가 나오면 전체 탐색을 중단하고 결과를 리턴합니다.(나름의 성능 개선?) 4. pq에 값을 한개 꺼내 출력합니다. import java.util.* var N:Int = 0 var M:Int = 0 fun main(args: Array) { val scr = Scanner(System.`in`) N = scr.nextInt() M = scr.nextInt() var arr = IntArray(N) { -1 } for(i..

처음에는 2차원 배열에 맵을 담아서 방향 그래프를 따른 우선 순위큐 기반의 다익스트라를 구현하였습니다.(여기까지는 스스로 아이디어 생각해내서 하루종일 걸려서 구현까지 했지만... import java.util.*; public class Main { static int V,E; public static void main(String[] args ) { Scanner scr = new Scanner(System.in); final int INF = 10000; V = scr.nextInt(); E = scr.nextInt(); int startV = scr.nextInt(); int[][] map = new int[V+1][V+1]; int[] result = new int[V+1]; for(int i=1;i

1. 아이디어 1. 입력값을 받을 때마다 해당 번째 위치에서 1번째까지 반복하며 조를 만들면서 최적의 값을 비교하여 가장 좋은 값을 선택 (1)우선 dp[0] = 0, dp[1] = 0으로 초기화 해줍니다. 0번째와 1은 자기자신이기 때문에 값의 차이가 자기자신 - 자기자신 = 0 (2)dp[2]인 경우 [1] 자기자신 그루핑한 값 + 직전의 그루핑한 값 중 최적의 값 [2] 자기자신과 바로 직전값 1과 그루핑한 값 + 1의 직전의 그루핑한 값중 최적의 값 dp[3]인 경우 [1] 자기자신 그루핑한 값 + 2에서 그루핑한 값 중 최적의 값 [2] 자기자신과 바로 직전값 2와 그루핑한 값 + 1에서부터 그루핑한 값중 최적의 값 [3] 자기자신과 1번째 까지 그루핑한 값 + 0에서부터 그루핑한 값중 최적의 ..

1. 아이디어 원형 큐가 떠올라 자바의 LinkedList를 기본적으로 이용하기로 하였습니다. 그다음 값을 꺼낼때 인덱스는 항상 0(큐 이므로)으로 0을 기준으로 왼쪽으로 탐색하여 해당 값을 발견했을때의 count와 오른쪽으로 탐색하여 해당 값을 발견했을때의 count를 비교하여 작은 쪽으로 연산을 진행하여 (1번 혹은 2번) 연산을 수행한다음 값을 꺼내는 방식으로 구현하였습니다. 단, 0이 찾는 값이 바로 있으면 count는 0!! 그리고 왼쪽 방향으로 값을 찾는 연산은 리스트의 마지막 인덱스 ~ 1 까지 연산을 수행하지만 우선적으로 0번째에서 값을 확인하기 때문에 0번째에 값이 없다면 왼쪽 연산과 달리 count=1로 초기화 해주어야 합니다. 아래는 코드입니다. import java.util.Link..