분류 전체보기

#2 시간초과 sysout -> bw.write() 대충 #1이랑 엇비슷하게 품 #1 출력은 잘 됐는데 틀렸습니다 떴음 -> Line:51~52에서 2차원 배열 res를 ' '(공백)으로 초기화한 후에 다시 시도하니까 성공함 (만약 이거 안됐으면 포기하려고 했음) ※ char의 초기값은 ''(null)이다 이제 조금은 분할정복의 감이 오는 것 같음.. 계속 풀면서 푼 것 또 복습하면서 본인 것으로 만들어야겠음 큰 그림으로는 별을 3개를 그리면 되고, 각 별마다 또 3개씩 그리면 된다 여기서 별의 시작점이 중요한데 그 부분이 Line:41~43의 x+unit,y / x, y+unit / x+unit, y+unit*2 이 부분이다 이건 진짜 풀이를 보고 푼 것은 아니고 방금 전에 푼 별찍기 10을 계속 보면..
#2 자잘한 실수(무시해도됨) private static char[][] res (star 결과 저장하는 char배열)을 선언을 안해줌 star메소드에서 Line:16 N==3으로 할지 N==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 64 65 66 67 68 69 70 71 72 73 74 75 76 import java.io.BufferedReader; import java.io.Buffer..
스스로 못 풀었음 분할정복이란 것을 좀 더 연구해봐야겠음 참고 : https://bcp0109.tistory.com/47 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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; public class..
Line:22 10을 넘어가는 값들은 1~10중 1개로 대체해줘야함 (이걸 마지막으로 했는데 이거 틀리면 그냥 풀이 보려고 했음) Line:36~37 이 부분 구현이 조금 헷갈렸음 솔직히 실버5는 줘야할듯 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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.Out..
12345678910111213141516171819202122232425262728293031323334353637383940414243class Solution { private int[] getPi(String ptn) { int[] pi = new int[ptn.length()]; int j=0; for(int i=1; i0 && ptn.charAt(j) != ptn.charAt(i)) j = pi[j-1]; if(ptn.charAt(j) == ptn.charAt(i)) pi[i] = ++j; } return pi; } public boolean rotateString(String input, String ptn) { if(input.length()!=ptn.length()) return fals..
시간 단축 Stack으로 push할 필요 없이(넣는 동작으로 시간 늘어남) count로 처리함 i번째에 넣을 수 있는 알파벳은 조건문으로 인해 반드시 정해져 있기 때문에 count로 ++만 해줘서 몇번째 알파벳인지만 체크 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.Output..
굳이 KMP 아니고 브루트포스로 해도 통과가 되는 것 같음 KMP 강의 들으면서 풀어보라고 했던 문제라 그냥 KMP 복습이나함 Line:6 for문의 조건문을 i i
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..