목록전체 글 (27)
멍
n이 3이라면 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 6가지 중 k = 5 라면 3,1,2를 출력하면된다. n
위상정렬 이라는 개념을 알아야 한다고 한다. 모르고 처음 푼 코드를 올린다. 그냥 dfs로 스택에 담아서 쭉 둘러보는 방법으로 옛날에 dfs풀었던 방법을 적용해서 풀었다. 분명 기존알고리즘과는 다르기때문에 비효율적으로 짰을 것이다. 4를 짓기 위해선 2,3을 동시에 행할 수 있고, 3을 건설하는 동안 2는 이미 다 완성되어 결과에 영향을 미치지 않는다. 4를 지으려면 10+100+10 = 120초의 건설시간 필요 만약 이렇게 되어있고 4가 최종건물이라면 4에서 바라봤을때 2,3,5가 지어져야 하는데 어차피 5가 110초이므로 2,3은 볼 필요도 없다. 그러므로 5가 최종 건설시간이다. 라고 생각할 수도 있다. 2,3이 결과에 무의미하다 해서 넘어가서는 안된다. 1때문에 그래서 모든 노드를 한번은 탐색해서..
어떻게 가는지 제한이 없기 때문에 출발점이나 도착점을 감싸는 원이 아닌 원들은 거쳐갈 일이 없다. 계산해서 출발점과 도착점을 포함하는 원들만 카운팅 해주면 된다. 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 32 33 34 35 36 37 38 import java.util.Scanner; //어린왕자 public class Main { static int[] start; static int[] end; static int count = 0; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int testCas..
java의 지식을 되짚어 보는 글. 1991년 썬의 엔지니어에 의해 고안된 Oak라는 언어에서 시작 C++의 장점을 도입하고 단점을 보완을 목적으로 개발되었다. #java의 특징 -1. 운영체제에 독립적이다. 기존의 프로그램을 운영체제에 맞춰 다르게 개발해야 했었던 부분을 JVM이라는 중간과정을 통해 JVM이 운영체제에 따라 서로 다른버전을 제공함으로써, 프로그램을 버전별로 나눌 필요가 없어졌다. -2. 객체지향언어이다. 객체지향개념의 특징인 상속, 캡슐화, 다양성이 잘 적용된 순수한 객체지향 언어라는 평가를 받는 언어. -3. 자동 메모리 관리 ( Garbage Collection ) 자바로 작성된 프로그램이 실행되면, 가비지컬렉터가 자동적으로 메모리를 관리해준다. 이로 인해, 프로그램이 비효율적일 수..
처음 백준 알고리즘을 접했을때 1000부터 정복한다 ㅋㅋㅋ 하는마음으로 1000번부터 덤볐던 기억이난다. 터렛에서 무슨소린지 못알아듣고 처음에 피보나치라는 개념은 학부시절에 들어서 재귀이고 이렇게 짠다는것 정도 밖에 몰랐다. 그때 코드이다. 12345678910111213141516171819202122232425262728293031import java.util.*; public class Main{ public static int zero = 0; public static int one = 0; public static void main(String args[]){ Scanner sc = new Scanner(System.in); int testCaseNum = Integer.parseInt(sc.n..