[ 백준 ] 1325번 효율적인 해킹 : 얼추 다 풀었는데 값이 이상해서 결국 풀이 봤다. 일단은 문제를 잘못 이해했다. 문제점1 : 나는 서로 해킹 가능하다는 지문에 바로 양방향 엣지 연결함..^^ 문제점2 : 지문에서 하나의 컴퓨터로 여러 개의 컴퓨터를 접속할 수 있는 것을 찾아야한다고 해서 DFS를 이용했었다. 하지만 BFS를 통해서 각각의 노드에 연...
[ 백준 ] 18352번 특정 거리의 도시 찾기 : 맨 처음에 첫 번째 코드로 풀고 예시 케이스 모두 통과하길래 혼자서 기뻐했으나, 제출하니까 시간초과 뜸 ㅠ 그래도 이제 BFS는 혼자서 어느정도 풀 수 있는 것 같다. 굿굿,, 해설보니까 나와 다르게 푼 점은 visited[]에 boolean 대신 int 타입을 써서 거리를 직접 입력했다는 것인데... (...
[ 백준 ] 1934번 최소공배수 : 최소공배수는 두 수의 곱을 최대 공약수로 나눈 것이라는 원리를 까먹어서 내 벨로그에서 이전에 기록했던 내용을 검색함. 1850번 최대공약수 : 시간초과로 계속 실패했는데, 빠르게 글자를 쓰려면 BufferedWriter 컴포넌트를 사용해야한다. [ 유어클래스 다시 읽기 ] section3. 테스팅(Testing) ...
[ 유어클래스 다시 읽기 ] section3. 트랜잭션(Transaction) All or Nothing 커밋(commit) or 롤백(rollback) @Transactional(readOnly = true) : No flush(), No 스냅샷. 조회 성능 향상 @Transactional(propagation = ?) : Propa...
[ 백준 ] 1929번 소수 구하기 : 1도 소수라고 했다가 틀림,,ㅎ★ 1747번 소수&팰린드롬 : toCharArray()로 char[] 배열로 만들어서 비교하면 더 빠를 것 같다. 자바 입문 초기에 배운 함수가 charAt()이라 그런지 습관적으로 쓰게 됨,, [ 프로그래머스 ] K번째수 [ 유어클래스 다시 읽기 ] section3. JPA 기반...
[ 백준 ] 1541번 잃어버린 괄호 : "+"로 문자열 split 하려면, 대괄호로 감싸야함. s.split("[+]"); [ 프로그래머스 ] 입양 시각 구하기(2) : WITH RECURSIVE 문은 처음 사용해봤다. 임의의 가상 테이블을 재귀형식으로 만들 때 사용. https://horang98.tistory.com/10 [ 유어클래스 다시 읽기 ...
[ 백준 ] 11047번 동전 0 : 그리디 알고리즘. 1715번 카드 정렬하기 : 우선순위 큐를 사용하면 쉽게 풀 수 있는 문제였다. 이렇게 또 하나 배움,, 1744번 수 묶기 : 수열의 순서를 바꾸면 안 되는 줄 알고 헤매다가 풀이 보고 알았다. 문제를 잘 이해하기,, 위에서 푼 문제처럼 우선순위 큐를 이용하면 되었는데, 입력 값 받을 때, 변수로...
[ 프로그래머스 ] 최대 리뷰어가 여럿일 수 있으므로, limit가 아닌 다른 하위 쿼리를 이용해야함. https://school.programmers.co.kr/learn/courses/30/lessons/131124 [ 유어클래스 다시 읽기 ] section3. API 계층 Spring MVC : 서블릿(Servlet) API 기반 서블릿(...
[ 백준 ] 1920번 수 찾기 : 이진 탐색 이용 알고리즘. 교재 참고하여 공부 중. 2343번 기타레슨 : 마지막에 left가 아닌, right로 반환했다가 틀렸다. while 조건이 깨질 때의 시작 인덱스를 반환해야 함,, [ 혼공컴운 ] Chapter 14. 가상메모리 스와핑 : 메모리에서 비사용 프로세스 일부를 보조기억장치의 스왑 영역으로 내보...
[ 칼퇴족 김대리는 알고 나만 모르는 SQL ] 하위 쿼리 중복 제거하기! ★ DISTINCT FROM 절의 하위 쿼리 대상자 선정 후 요약 or JOIN 별칭 이용하기 WHERE 절의 하위 쿼리 : IN 데이터 조작 언어 (DML) INSERT INTO 테이블명(열이름,,) VALUES(값,,); INSERT INTO 테이...
[ 칼퇴족 김대리는 알고 나만 모르는 SQL ] GROUP BY 집계 함수를 제외한 SELECT 문의 모든 열은 GROUP BY 절에 있어야함. 열 위치 이용 가능 NULL 포함 WHERE : 행에 대한 필터링 HAVING : 그룹에 대한 필터링 INNER JOIN ~ ON ~ : 교집합 (FROM에 테이블 여러 개 두고 WHERE 조건 걸어...
[ 백준 ] 2178번 미로 탐색 : 혼자서 해보다가 결국 해설 봤음. [ 프로그래머스 ] 게임 맵 최단거리 : 윗 문제와 똑같은 문제가 있길래 혼자 풀어봤다. 이제 이 유형은 풀 수 있을 것 같다. BFS, DFS에서 정적 변수 쓰는 경우가 많고, 써보니 편하다. 숫자의 표현 : 분명 얼마 전에 백준에서 투 포인터로 풀었던 기억이 나는 똑같은 문제였다...
[ 백준 ] 13023번 ABCDE : 문제 이해를 잘못했음. 답지 풀이 보고서 이해했다. 5명이 연결되어 있는지 보는 문제. 마지막에 false로 방문 다시 초기화하는 게 중요한 것 같다. 1260번 DFS와 BFS : 처음으로 답지 없이 혼자서 푼 DFS, BFS 문제!!! 너무 뿌듯했다. 디버깅해서 dfs에서 답안 배열이 계속 초기화되는 것을 알아내...
[ 혼공컴운 ] Chapter 12. 프로세스 동기화 동기화 : 작업의 수행 시기를 맞추는 것 실행 순서 제어 상호 배제 공유 자원, 임계 구역(동시에 실행하면 문제가 발생하는 자원에 접근하는 코드 영역) 레이스 컨디션 : 동시에 임계 구역 코드를 실행하여 발생하는 문제 상호 배제 동기화를 위한 원칙 : 상호 배제, 진행, 유한...
[ 프로그래머스 ] 이진 변환 반복하기 : 이진 변환 메서드는 검색해서 찾아봤다. Integer.toBinaryString(); [ 유어클래스 다시 읽기 ] section2. 웹 애플리케이션 작동원리 : Web Application 3 Tier Architecture, SSR(검색엔진 최적화 SEO에 유리), CSR, CORS, HTTP, MIME TYP...
[ 프로그래머스 ] 최대공약수와 최소공배수 : 최대공약수 알고리즘은 알고 있었으나, 최소공배수의 성질을 몰라서 찾아봤다. a와 b의 최소공배수 LCM == a*b/GCD https://imkh.dev/algorithm-gcd-lcm/ 올바른 괄호 : 시간 효율성 테스트가 까다로웠다. 효율성 테스트에서만 계속 실패. 꽤 오래 붙잡은 문제. replaceAl...
[ 프로그래머스 ] 최솟값 만들기 : 정답률 76%. [ 백준 ] 2164번 카드2 : 처음에 stack 써야하나 싶다가, 카드를 다시 맨 끝에 넣어야해서 큐를 사용했다. 11286번 절댓값 힙 : 처음에 리스트로 한땀한땀 풀었다가 시간 초과로 통과 못 했다. 정렬해주는 큐가 있으면 좋겠다고 생각했는데, 풀이보니까 실제로 PriorityQueue 타입의...
[ 프로그래머스 ] JadenCase 문자열 만들기 : 정답률 77%. 테스트 케이스 8번을 계속 통과 못해서 힌트 봤는데, 마지막 문자가 공백인 경우도 고려해야했다. 다른 사람 풀이 보니까, 아예 문자를 쪼갤 때 공백 기준이 아니라 ""로 모든 문자를 쪼갰음. 훨씬 나은 전략이다. [ 백준 ] 2018번 수들의 합 5 : 투 포인터 사용 문제. 교재 해...
[ 프로그래머스 ] 음양 더하기 : 정답률 84% 최댓값과 최솟값 : 정답률 79% 부족한 금액 계산하기 : 정답률 80%. 처음에 몇 개 테스트 실패하길래, 값 보고 오버플로우인 것 같아서 money 타입만 long으로 바꿔서 통과했다. 따로 변수 선언하긴 귀찮았음. [ 백준 ] 11660번 구간 합 구하기 5 : 저 점화식 같이 생긴 걸 구하질 못...
[ 프로그래머스 ] 핸드폰 번호 가리기 : 정답률 84%. toCharArray() 사용한 사람도 있었음. [ 백준 ] 11659번 구간 합 구하기 4 : 구간 합 알고리즘 사용하지 않고 구간 마다 매번 합을 계산했다가 시간 초과 났다. 책에 나온 풀이 보면서 공부했다. 합 배열 만들기★ 값 받을 때, 기존에 쓰던 split()이 너무 불편해서, 풀이 보...