2021/10

index를 맞춰줘야되는 문제라 좀 짜증났음 paper가 음수로 쓰인 경우만 신경써서 처리해주면 paper가 양인 경우는 손쉽게 풀 수 있음 덱으로 하는 경우에는 진짜 풍선 넘어가면서 시뮬레이션하면서 푸는 코드가 더러 있었는데 제한조건이 N(1 ≤ N ≤ 1,000)로 작아서 그렇지 (그냥 자료구조 써보라고 낸 문제니까) N진짜 커지면 그냥 터지는 코드임 무조건 index만 조절해줘서 풀어야함 simulating해주면 시간낭비 메모리낭비임 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 ..
출력초과로 실패 나옴 bw.write("+\n") -> sb.append("+\n")로 수정함 bw.write로 출력을 처리할 경우에는 Line:27~29 부분에서 bufferedWriter를 flush하지 못하고 프로세스를 return으로 끝내버리는 코드가 있기 때문에 이것 때문에 출력초과가 난 것이 아닐까 싶음 이런 종류의 문제의 '출력 초과'는 '답이 없음'을 출력해야 하는데 답이 있는 것 처럼 출력하려고 했기 때문입니다. BufferedWriter 는 내부에 버퍼를 가지고 있으며, 버퍼에 어느 정도 데이터가 차면 비정기적으로 flush 를 실행합니다. n이 작은 데이터일 때 NO 를 출력해야 할 때는 flush 를 하기 전에 NO만 출력하고 프로그램이 종료되지만 n이 충분히 큰 데이터일 때 NO를..
렌더링 - 서버에서 HTML파일을 받아와 브라우저에 뿌려주는 것 jpa-인터페이스에요 그 구현체로 hibernate등의 구현 기술을 사용.. 프록시 - 우리가 직접 서버에 요청하는게 아니라 중간 서버나 프로그램을 거쳐서 전달되게끔 그러면 다른사람이 요청하는 것 처럼 만들 수 있음. 일반적인 브라우저로 작업한다면 정보를 매우 많이 주기 때문에 프록시를 사용해야한다.
자바 람다에서 final이거나 final처럼 쓰인 지역 변수만 접근할 수 있는 이유는? 자유 변수는 람다 캡쳐링에 의해 복사되기 때문에 다른 스레드에서 참조할 수 있고, 람다 캡쳐링에 의해 복사된 참조 값을 변경하는 코드는 람다 실행 시점에 따라 복사된 참조 값이 어떤 값인지 예측할 수 없기 때문(= 동기(Sync)를 맞출 수 없기 때문)에 final 또는 effectively final로 쓰입니다. 조금 어려운 말로 표현하면 자바의 '스레드 한정(Thread Comfinement)' 기법(또는 원칙)을 위배하지 않기 위해서 final 또는 effectively final로 정했다고 합니다. 출처: https://jeong-pro.tistory.com/211?category=793347 [기본기를 쌓는 ..
Patter/ Matcher/ 정규식 공부 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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main { private static..
#2 Line:18 & Line:35 Collections.sort( [list] , [Comparator] ) -> list.sort( [Comparator] ); 이렇게 바꾸니까 더 깔끔한 것 같음 핵심은 Map에서는 value값을 이용한 정렬이 불가능하다는 점 key값으로 정렬하고자 하면 treemap으로 바꾸면됨 그 다음에는 문제가 요구하는 조건들 뭔가 이것 저것 조건들이 있어서 처음 보면 어려워보이는데 뜯어 보면 쉬운 문제들이 자잘자잘하게 붙어 있음 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 5..
결론적으로는 불가능함 Map의 정렬은 Key값을 기준으로 정렬이 가능하고 Value들을 활용하여 정렬하려면 따로 빼줘서 정렬해줘야 한다.. 참고 : https://codechacha.com/ko/java-sort-map/ 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...
(input=br.readLine())!=null (String.format("%.4f",e.getValue()*100.0/tot) (n번째 소수점까지 출력) 빼고는 뭐 없는 문제임 이게 왜 골드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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java...
비트마스크래서 풀었는데 그냥 브루트포스 비트마스크로 도대체 어떻게 푸는 건지 모르겠음 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 import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamW..
생각을 좀 많이함.. 결국 (0000) (1111) 둘 중 하나가 만들어질 때 각각 0, 1로 대체할 수 있으면 되는데, 가장 작은 단위의 (0000) (1111)은 Line:29의 if(N==2)문에서 처리가 되지만 여기서 압축된 후에 생기게 되는 좀 더 큰 단위의 (0000) (1111) 들은 어떻게 처리해야 할까? 계속 while문으로 돌려야되나? 생각하다가 Line:47에다가 Line:35의 checkCanComp() 메소드 사용하면 되는 것을 깨달았다 결국은.. 소괄호로 닫아줄 때 -> ) 로 닫아줄 때 그 res.substring(res.length()-6, res.length())가 (0000)이거나 (1111)일 경우 각각 0과 1로 교체시켜주면 재귀로 처리하기 때문에 가장 작은 단위의 비..
배게
'2021/10 글 목록 (3 Page)