일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스프링
- Java8
- DFS
- 네트워크
- TDD
- java
- backtracking
- baekjoon
- programmers
- 운영체제
- 코틀린
- 백준
- 자료구조
- 그래프
- LEVEL2
- back-end
- Spring
- 프로젝트
- DP
- 백트래킹
- kotlin
- 모던자바
- BFS
- OS
- lambda
- algorithm
- Brute-force
- 알고리즘
- 프로그래머스
- 자바
- Today
- Total
목록algorithm (41)
요깨비's LAB
import java.util.* class Solution { public int solution(String str1, String str2) { int answer = 0; str1 = str1.toUpperCase(); str2 = str2.toUpperCase(); Map str1Map = new HashMap(); Map str2Map = new HashMap(); setMap(str1Map, str1); setMap(str2Map, str2); double intersaction = getIntersection(str1Map, str2Map); double union = getUnion(str1Map, str2Map); double value = 1; if((int)union == 0 && ..
import java.util.HashMap; import java.util.Map; class Solution { static boolean[] isVisited = new boolean[8]; static String[] characters = {"A", "C", "F", "J", "M", "N", "R", "T"}; static int result = 0; public int solution(int n, String[] data) { int answer = 0; result = 0; for (int i = 0; i < 8; i++) { Map map = new HashMap(); isVisited[i] = true; int index = 0; map.put(characters[i], index); ..
import java.io.BufferedReader import java.io.InputStreamReader import java.util.* fun main() { val br = BufferedReader(InputStreamReader(System.`in`)) val N = br.readLine().toInt() val queue = LinkedList() val sb = StringBuffer() for (i in 0 until N) { val command = br.readLine().split(" ") when { command[0] == "push" -> { queue.add(command[1].toInt()) } command[0] == "pop" -> { if (queue.isEmpt..
LinkedList를 활용해서 풀었습니다. 초기 코드는 시간 초과로 애를 먹었습니다. import java.io.* import java.util.* fun main() { val reader = BufferedReader(InputStreamReader(System.`in`)) val writer = BufferedWriter(OutputStreamWriter(System.`out`)) val str = reader.readLine() val M = reader.readLine().toInt() val linkedList = LinkedList() val listIterator = linkedList.listIterator() while(listIterator.hasNext()) { listIterat..
import java.util.* fun main() { val stack = Stack() val scr = Scanner(System.`in`) val n = scr.nextInt() val list = mutableListOf() val result = mutableListOf() var index = 0 val sb = StringBuffer() for(i in 1 .. n) { list.add(scr.nextInt()) } for(i in 1 .. n) { stack.add(i) sb.append("+\n") while(!stack.isEmpty() && stack.peek() == list[index]) { result.add(stack.pop()) sb.append("-\n") index++..
import java.util.* fun main() { val scr = Scanner(System.`in`) val T = scr.nextInt() scr.nextLine() val sb = StringBuffer() for(i in 0 until T) { val str = scr.nextLine() val elements = str.split(" ") for(element in elements) { sb.append(element.reversed() + " ") } sb.append("\n") } print(sb.toString()) }
MST가 최소비용으로 정점을 중복 없이 묶는 것이기 때문에 하나의 최소비용으로 이뤄진 덩어리와 정점 하나짜리 덩어리의 두개의 덩어리로 나누면 자동으로 최소비용으로 두 마을을 구성할 수 있는 아이디어입니다. import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Vertax { Vertax parent; int id; boolean isVisited; public Vertax(int id) { parent = this; this.id = id; this.isVisited = false; } private Vertax findParent(Vertax p) { if (p.id == p.parent.id) { retur..
import java.util.ArrayList; import java.util.List; import java.util.Scanner; class Cow { int id; List preferences; public Cow(int id) { this.id = id; this.preferences = new ArrayList(); } } public class Main { public static int[] barns; public static boolean[] isProccesed; public static List cows; public static int N; public static int M; public static void main(String[] args) { Scanner scr = ne..