알고리즘 풀이/백준

sb.apppend로 안하고 계산하기 편하게 뒤에 3개씩 하려고 sb.insert(0, [ ])로 했더니 시간 10배정도 늘어났음 무조건 append로 해서 앞에서부터 처리해줘야함 가장 앞에 부분이 1자리일수도 있고 2자리일수도 있으므로 (앞에 부분이 3자리일 경우는 for문에 묶이는 경우이다) 이 부분만 예외 처리하고 for문으로 처리함 Line:25 for(int i=len%3; i
보통 N개의 문자열이 들어오면 입력 방식이 첫번째 라인에 int N을 받는 구조로 되어야 하는데 이건 그런게 없어서 trigger를 임의로 지정해줘야함 참고 : https://stackoverflow.com/questions/14581205/bufferedreader-readline-waits-for-input-from-console String line; while ((line = br.readLine()) != null){ ...... } 로 해도 되고 밑에처럼 해도 되고 int a;while ( (a=10) !=null){ } 이거는 에러남.. 왜지 ㅠ 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 3..
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter; public class Main { private static BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); private static Buffer..
시간 단축 가능함 밑에 2번째 코드의 Line:18 부분에서 시간이 많이 소요되는 것으로 보임.. (Line:18에서 이미 퀸을 놓은 좌표의 [같은 열, 슬래시, 백슬래시]에 속한 부분인지 첫번째부터 계속 탐색하고 있고 거리의 절대값도 매번 구해서 시간이 오래 걸리는 것 같음) 열에 속한다 또는 대각선(슬래시, 백슬래시에 속한다)를 boolean으로 체크해줘야함 규칙이 있었음 (솔직히 코딩테스트 같은 곳에서 풀라고 하면 첫번째 방법으로는 절대 못풀듯.. 2번째 방식이 n_queen 이해하는데 입문하기도 쉽고 짜기도 편함 근데 시간은 2배 더 걸림) 참고 : https://herong.tistory.com/entry/BOJ-9663-N-Queen-Java 참고 링크 2번째 코드의 column, slash,..
#2 풀긴 풀었는데 조건식을 깔끔하게 쓸 수도 있는건데 더럽게 풀었다.. 깔끔한 조건문을 찾는 것은 어떤 식으로 해야하는걸까? 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 39 40 41 42 43 44 45 46 47 48 49 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.Stack; public..
참고 : https://mizzo-dev.tistory.com/entry/baekjoon5525 IOI를 단위로 하여 누적을 시키고.. 이 값이 계속 누적되는지 혹은 누적이 끊겨서 0이 되는지 변화를 살피고 그것을 체크하여 res값을 계산함 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 39 40 41 42 43 44 45 46 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import jav..
그냥 배열로 해도 되는 거였음.. 인덱스 0을 A로 25를 Z로 해서 풀면됨 홀수는 A~Z의 대문자 중 단 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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import j..
시간 단축하려면 StringBuilder메소드 말고 배열로 하면 됨 문제는 유사회문인데 단 1개의 문자만 없엘 수 있으므로.. 문자의 왼쪽부분, 오른쪽부분 서로 비교하다가 걸리는 부분을 trigger로해서 왼쪽부분 1개 지우고 비교해보고, 오른쪽부분 1개 지우고 비교해봐서 두개의 문자가 팰린드롬인지 확인해보면됨 즉, 맨 처음에 걸리는 부분이 문제에서 허락해주는 단 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 39 40 41 42 43 44 45 46 47 48 ..
시간 단축 List로 완전탐색 -> HashMap으로 Key값을 이용한 탐색 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 39 40 41 42 43 44 45 46 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.HashMap; import java.util.Map; public class Main {..
참고 : https://yoon1fe.tistory.com/206 혼자서 못풀음..ㅜㅜ 끝에서부터 input.substring(0,i)를 붙여준 값 StringBuilder.reverse()를 해준다는 개념.. 시간 단축 더 하려면 stringbuilder클래스의 reverse()함수 안쓰고 배열로 처리하면 됨 근데 배열로 하면 헷갈림 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 39 40 41 42 43 44 45 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOExce..
배게
'알고리즘 풀이/백준' 카테고리의 글 목록 (4 Page)