제가 개최한 코딩 테스트 3회에서 5번 문제였던 가희와 btd5 2는 난이도가 높았던 문제였습니다. 입력 크기와 사이즈를 보니, brute force 솔루션으로 검수진 코드와 제 코드를 교차 검증 가능했습니다. 오래 걸려 봤자 1시간 내외로 수행이 가능한 사이즈였기 때문입니다. 제가 검수했던 문제 중 하나인 시철이가 사랑한 수식 또한 비슷한 이유로 brute force 솔루션을 작성했던 적이 있었습니다. 제가 깃허브에 올린 솔루션은, 당연하게도 객체 지향 같은 건 무시한 코드였는데요. brute force 솔루션 또한 객체 지향적으로 구현하지 못했습니다. 이 문제의 출제 의도 중 하나가 객체 지향 설계 능력을 보는 것이였는데 출제자가 그걸 못 했다니. 앞으로 몇 개의 글에 걸쳐서 brute force 솔..
코딩 검색 결과
제가 3회 코딩테스트에 출제한 문제 중에, 가희와 쓰레기 놀이가 있었습니다. 이 문제에 대한 풀이는 다음 편에 상세히 올리도록 하겠습니다. 대신에, 이번에는 어떤 것을 가지고 출제했는지에 대한 썰을 풀어보도록 하겠습니다. 이미, 제 포스팅 스타일을 보신 분들은 눈치 채셨을 지도 모르겠지만. 제 코딩테스트에서 3번 문제는 예외없이 cs가 나오기도 했고요. 일단 자바나 python이나, weak reference 비슷한 게 또 있음을 알 수 있어요. 강한 참조 관계가 아닌 얘들이 있는데요. 자바는 soft, weak, 팬텀이 있긴 한데요. 여기서 다룰 내용은 아닌 듯 합니다. 저는 여기서 의문이 하나 들었습니다. 아니. 굳이 왜? 그냥 객체 a로부터 b에 접근할 수 있다고 치면, 강한 연결 관계로만 대충 이..
안녕하세요. 가희배 3회 코딩테스트 문제들을 셋팅하면서 xml 형식을 파싱해야 되는 일이 생겼는데요. 파이썬에서 이를 간단하게 할 수 있었어요. xml.etree.ElementTree를 이용해서 간단하게 작성해 보았습니다. 먼저, temp.xml에는 위와 같은 내용들이 저장되어 있어요. html도 사실 보면 저 구조와 크게 다를 바가 없습니다. 이 친구를 읽어서, 태그에 달려있는 값들만 뽑아오도록 할게요. 먼저, ET.parse를 통해, temp.xml에 있는 내용들을 읽어서, tree화 시킵니다. 함수 설명은 위와 같은데요. XML document를 element tree로 변환한다고 되어 있어요. 다음에, iter를 돌릴 건데요. iter 함수를 썼어요. 레퍼런스 설명을 보면, tree iterato..
안녕하세요. 요새 이것 저것 보다가 문득 클래스 로더는 언제 class를 로드하는지에 대해 궁금했습니다. 이것을 직접 trace 해 볼 수 있는 방법은 없는지를 찾다가 -XX:+TraceClassLoading에 대해서 알게 되었어요. 그리고 조금 더 찾다 보니, 이런 문서도 발견하게 되었는데요. 업데이트가 된 버전에서는 이 옵션 대신 다른 옵션을 쓰라고 안내해 주고 있었어요. 현재 제 서버에 있는 java와 javac 버전입니다. Openjdk를 쓰고 있어요. Main.java를 컴파일 한 다음에 java 명령어로 실행을 시켜보겠습니다. 제가 위에서 링크한 문서에 따르면, Unified logging이 자바 9부터 도입되면서 몇 개의 tracing flag가 다른 것으로 대체되는데, TraceClassL..
안녕하세요. 도서관 토이 프로젝트에서 logging을 하는 기능을 추가하려고 했습니다. 이 중에, client의 ip address와 Host name, 그리고 요청 id 등을 추가해야 했는데요. 이를 어떻게 처리해야 하나 찾던 도중에 logback의 MDC를 알게 되었습니다. 그리고, 이것이 어떤 식으로 동작하는지 간단하게 질문글들을 찾아보니, 내부적으로 ThreadLocal을 쓴다는 답변이 있었습니다. java의 ThreadLocal은 처음 들어봤는데요. 꽤 오래 전부터 있었던 듯 해서, 이번 기회에 간단하게 정리해 보았습니다. 먼저, ThreadLocal에는 get, set, remove 이 정도밖에 없어요. 저 3개를 쓰는 간단한 예제 먼저 보고, 어떤 식으로 동작하는지 간단하게 내부만 보도록 하..
최근댓글