목록분류 전체보기 (150)
forDevLife
: preformatted text : 해당 태그 내에서 작성된 텍스트의 모든 띄어쓰기 & 줄나누기는 웹 브라우저에 그대로 표현 : horizontal rule : 수평 가로 구분선 : html 주석 부분(중첩 불가) 을 통해 css 스타일을 HTML 요소에 직접 설정 가능하다. 하지만 이러한 방법은 오직 단 하나의 HTML 요소에만 스타일을 적용할 수 있다. style 속성 값에 사용되는 CSS 속성과 속성값들은 세미콜론(;)을 이용하여 구분한다. CSS를 하나만 사용할 때나, 여러 개의 CSS 속성 중 맨 마지막 속성은 세미콜론 생략할 수 있다. + CSS를 통해 아래와 같이 내의 을 통해 일괄 설정도 가능하다. 배경을 이미지로 사용 가능하다. 배경을 이미지로 사용하면 웹페이지 로딩 시간이 증가하게 ..
정렬을 위해 class를 정의해서 사용하였으나 굳이 이렇게 할 필요 없이 compare 단계에서 해도 괜찮을 듯 하다. 어쨌든 priorityQueue에 comparator를 이용해서 우선순위 조정이 가능하다는 것이 주 해결 방법이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Comparator; import java.util.PriorityQueue; class Value { int real; int abs; public Value(int real, int abs) { this.real = real; this.abs = abs; } } public ..
이전에 씨름 선수? 문제와 동일하다. 처음에 입력되는 숫자를 class에 두 인자 선언하여 받은 후, sorting 으로 계산했으나 걍 배열 인덱스에 넣는 방법이면 훨씬 빨라진다. 시간이 반절로 줄어든다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int[] arr = new int[100001]; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStream..
걍 BFS인데 조금 헤맸다. 모든 노드에 대해서 BFS를 각각 실행하고, 각 노드간의 최소 거리를 계산한 후 더해주는 계산이 필요하다. 마지막으로, 가장 최소값인 노드(겹칠 경우, 가장 작은 숫자를 가진 노드번호)를 출력한다. 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.util.StringTokenizer; public class Main { static int N; static boolean[] check; stati..
Artifact id : 실제 생성되는 프로젝트 이름 Packaging : jar(java archive) / War(Web archive) -> 배포의 형태를 뭘로 할지에 대한 설정 크게 위에서부터 4개로 구성이 된다. (코드, 코드 리소스, test, test 리소스) src-main-webapp을 통해 WebContent가 관리되며, pom.xml에서 프로젝트 생성시 설정했던 내용들을 볼 수 있다. 우리의 목적은 라이브러리 의존성을 주는 것이다. pom.xml에서 이 관계를 지정할 수 있다. 구글링을 통해(central repository) junit 설정 방법을 검색했다. Apache Maven에 작성되어 있는 부분을 복사한다. 아래와 같이 추가한다. 이 junit 라이브러리가 의존관계에 의해서 ..
평범한 피보나치로 보이나, 피보나치가 결국은 fib(0), fib(1)로 이루어져 있기 때문에 이 수를 세는게 관건이다. class를 통해 fib_0, fib_1의 개수를 따로 계산한 후, 배열을 만들어 값이 있으면 리턴, 없으면 만들어서 리턴하는 방식으로 구했다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; class fib_zo { int fib_0; int fib_1; public fib_zo(int fib_0, int fib_1) { this.fib_0 = fib_0; this.fib_1 = fib_1; } } public class Main { static fib_zo fib..
이전에 응급실 문제와 동일하다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; class Order{ int idx; int value; public Order(int idx, int value) { this.idx = idx; this.value = value; } } public class Main { public static void main(String[] args) throws IOException { BufferedRead..
처음에는, 이미 스택으로 들어온 값을 check해주는 배열을 통해서 조건을 검사하는 방식으로 코드를 구현했다. 결과는 시간초과.. 그래서 1 ~ n까지 들어간 수를 start pointer로 가리키는 방식을 적용했다. 이렇게 하면 check 배열이 별도로 필요가 없어진다. 또한 start pointer보다 작을 경우에만 stack에 넣고 큰 경우에는 pop이 가능한지 check 하면 된다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) th..
계속 반복되는 문제이다. 확실히 구현 방법을 이해하고 외우자. for문은 항상 알고자 하는 최대 범위 숫자의 제곱근까지만 탐색하면 된다. 추가로 코드에도 주석으로 되어 있지만, for문에 대한 설명이다. // i에 들어오는 2의 배수부터 시작해서 자신을 더해가면서 true로 만들어준다. // 예를 들어, 3일 경우 3*2인 6부터 시작해서 6 -> 9 -> 12 .. 하는 식으로 없애준다. // 하지만 j = 2일 때, 이미 2의 배수들은 모두 정리되므로 j = i * 2가 아닌 j = i * i부터 탐색하면 훨씬 빨라진다. // 즉 3일 경우, 6은 2에서 이미 정리된 수이므로 3 * 3 = 9 부터 정리한다. // 마찬가지로 133을 예로 들면, 133 * 2 = 266은 이미 2에 의해서 정리된 값..
앞서 푼 이진탐색이랑 완전히 동일한 문제이다. 다만 start를 0으로 두면 이후에 divide by 0 예외가 뜨므로, 문제 조건대로 꼭 1로 설정을 해두자(자연수) 예외는 입력으로 K = 2, N = 2, 1, 1을 넣을 때 발생했다. start가 처음에 0이면, mid 값이 0이 되므로 에러가 발생한다. 유의하자. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new S..