본문 바로가기

전체 글

(215)
왕실의 기사 대결[G3] 문제 https://www.codetree.ai/training-field/frequent-problems/problems/royal-knight-duel/description?page=1&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 풀이 사실 기존 방식과 조금 다른 방식을 사용했다. copy 메서드를 통해 연쇄된 행동이 잘못되었을 경우, 백업된 값으로 다시 복구하는 기능이다. 또한, 문제의 가장 핵심은 '한 번에, 어딘가에 이동을 저장해놨다가', 모든 조건이 만족되었을 경우에만 일괄적으로 옮기는 것이다. 개념 자체는 백트래킹..
자바 객체의 메모리 사용량 및 오버헤드 개요 주말에 알고리즘을 풀다가 든 궁금증을 정리하였다. 일반적으로, 우리는 구현이나 시뮬레이션, 그것이 아니더라도 Java 기반의 문제 풀이라면 여러 자료구조 및 커스텀 클래스를 사용하게 된다. (Comparable이라던지.. ) 그리고 이 좌표를 표현하는 데에는 크게 두 가지 방법을 많이 사용하는 듯하다. import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws Exception { int[] pos = {1, 2}; //특정 좌표를 배열로 표현하거나, Pos posClass = new Pos(1, 2); //혹은 이런 식으로 객체 타입으로 표현할 수도 있을 것이다. } } ..
루돌프의 반란[G2] 문제 https://www.codetree.ai/training-field/frequent-problems/problems/rudolph-rebellion/submissions?page=1&pageSize=20 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 코드 /* 2120 ==> 빠듯하게 3시간.. 디버거 하나하나 다 찍고 검증 Break문과 return, Continue를 잘 검증하자.. */ import java.io.*; import java.util.*; public class Main { static int N,M,P,C,D; stati..
나무박멸[G4] https://csg1353.tistory.com/51 이전에 틀렸던 문제를 연습차 다시 풀이하였다. 코드 import java.util.*; import java.io.*; public class Main { static int N, M, K, C; static int[][] map; static int[][] jecho; static int answer; static Queue tempQ = new ArrayDeque(); static Queue treeQ = new ArrayDeque(); static final int[] DR = {-1, 0, 1, 0}; static final int[] DC = {0, 1, 0, -1}; static final int[] DCR = {-1, -1, 1, 1};..
InteliJ lombok 인식 불가(Cannot resolve symbol 'info', Cannot Find log) lombok 추가 시 인식을 하지 못하거나, Cannot Resolve Symbol 등의 문제가 발생할 수 있다. 이 경우 다음과 같은 옵션을 고려해보자 1. Lombok 플러그인 설치 및 적용 확인 setting - plugins - lombok으로 확인해볼 것. 2. 구체적 버전 추가 및 Annotation Processor 적용 settings - Build, Execution, Deployment - Annotation Processors 에서 옵션 활성화 dependencies { testImplementation platform('org.junit:junit-bom:5.9.1') testImplementation 'org.junit.jupiter:junit-jupiter' .. 생략 imple..
[포팅 메뉴얼] 스카우터(Scouter), 핀포인트(Pinpoint) 설치 가이드 - 1 이번 포스팅에서는, Scouter와 Pinpoint를 Linux 환경에 구축하는 메뉴얼을 작성하였다. 환경 사양의 경우 다음과 같다. 구축 환경 Diagram과 Flow 설치 환경 및 설치 버전 - CentOS 7 / windows 11(Scouter window Client) - Java 1.8 Pinpoint v2.3.3 Release v2.3.3 · pinpoint-apm/pinpoint Security Patch Release Fix Log4j2 Security Vulnerabilities CVE-2021-45105, CVE-2021-45046 Agent : log4j 2.12.3 Server module : log4j 2.17.0 Release Notes [#8510] Backport: Bump..
[CentOS] 표준 시간대 변경 및 NTP를 사용한 동기화 [Backup posting] 서버 간의 시간을 맞출 때, Network Time Protocol을 사용하여 편리하게 동기화할 수 있다. 리눅스 상에서 표준 시간대를 재설정하고, 동기화하는 명령어를 정리하였다. 1. Timezone 변경 서버의 시간대를 KST 한국 기준으로 변경하려면 다음과 같이 설정하자. sudo timedatectl set-timezone Asia/Seoul 2. NTP(Network Time Protocol) 설치 NTP 프로토콜을 설치하고 적용하여 동기화한다. 1. NTP 서비스 설치 sudo yum install ntp 2. 서비스 시작 sudo systemctl start ntpd 3. 부트 시 NTP 자동 활성화 sudo systemctl enable ntpd 3. NTP ..
[Agent / ASM] agent의 transform 메서드에 ASM 바이트코드 적용하기 2 / ASM 라이브러리 이슈 ClassReader / Visiter / Writer를 사용한 값 읽어오기 public static byte[] addLogging(byte[] classfileBuffer) { ClassReader classReader = new ClassReader(classfileBuffer); // 클래스 파일 읽기 // 클래스 파일 쓰기, COMPUTE_MAXS와 COMPUTE_FRAMES 옵션으로 메서드의 최대 스택 크기와 로컬 변수를 자동 계산 ClassWriter classWriter = new ClassWriter(classReader, ClassWriter.COMPUTE_MAXS | ClassWriter.COMPUTE_FRAMES); // Classvisitor 내부에 MethodVisitor가 있으..