자기계발서나 전공서적이나 항상 목차부터 읽지 않으면 내용이 이해되지 않는 목차 덕후로서, tistory에는 없는 velog나 github blog의 TOC가 너무 탐이 났었다. 그래서 찾아보니 TOCBOT이란 것을 통해 티스토리에도 TOC를 달 수 있었다. 글 내부의 h2, h3 등 태그를 읽어 TOC로 만들어주는 기능을 제공하고 있는 서비스인데, 어차피 기존에도 글을 업로드 할 때 마크다운으로 작성 후 markdown-tistory 모듈을 사용해 업로드하고 있었어서 이미 목차가 들어간 글이 올라가있는 상태였기 때문에 기존 글과의 호환성에 대해서는 별 고민 없이 작업을 진행할 수 있었다. 무작정 한 작업이라 기억나는 중요한 파편만 정리했다. TOCBOT 코드 추가 먼저 위와 같이 html에 tocbot..
인프런 알고리즘 강좌 5개 강좌 수강 및 문제 풀이 후 github에 push 1. 선택 정렬 package inflearn.sorting_searching; import java.util.Arrays; import java.util.Scanner; public class P06_01 { public static String solution(int n, int[] arr) { /* * [선택 정렬] * 2중 for-loop을 사용해 0번 index부터 n-1 index까지 매 원소를 기준으로 잡고 * 기준 원소 우측에 남은 원소 중 가장 작은 원소를 해당 기준 원소와 swap 하며 정렬한다. * 시간 복잡도 : O(n^2) */ int idx; // i 고정 상태에서, i보다 우측 원소 중 가장 작은 원..
계획 상 2주차 내용은 인프런 HTTP 강좌 6개 강좌 수강 후 노션에 강의 내용 정리 였지만 일정 상 3주차 계획인 인프런 알고리즘 강좌 5개 강좌 수강 및 문제 풀이 후 github에 push 와 맞바꿔 진행함 Hash - 학급 회장 package inflearn.hash; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class P04\_01 { public static char solution(int n, String str) { Map map = new HashMap(); for (char c : str.toCharArray()) { map.put(c, map.getOrDefault(c, 0) + ..
알고리즘 문제 풀이 1. 배열 - 격자판 최대합 package inflearn.array; import java.util.Arrays; import java.util.Scanner; public class P02_09 { public static int solution(int n, int[][] arr) { int answer = Integer.MIN_VALUE; // 먼저 각 행, 열의 합에서 최대 값을 찾는다. int sumRow, sumCol; for (int i = 0; i < n; i++) { // 각 행, 열의 합계 초기화 sumRow = 0; sumCol = 0; // 한번에 행과 열의 합계를 같이 구한다. // 반복하며 어떤 변수가 변하느냐에 따라 행, 열 여부가 결정된다. for (int..
이동욱님의 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 을 따라 진행하며 웹 앱을 개발하고 배포하는 전체 과정을 쭉 따라고 보고 싶었는데 첫 장부터 막혀버렸다..ㅋㅋ start.spring.io에서 완성된 프로젝트 파일을 다운로드하여 import 해 사용하는 방식으로 공부해왔어서 gradle 설정에서 문제가 발생하니 해결하기가 어려웠다. (동욱님께서도 책에서 이러한 문제 때문에 직접 gradle 설정 파일을 작성해보기를 권장하신다.) 그래서 이 참에 평소 gradle 설정 파일에서 궁금했던 정보를 찾아 정리해봤다. 워낙 기능과 정보가 방대해서 지금 내 수준에서 필요한 정도로만 정보를 찾고 정리했다. 다른 때와 달리 최대한 gradle 공식 문서만을 참고하려고 노력했다..! Gradle Gradle은 ..
1. 모각코 모여서 각자 코딩 의 줄임말로 온라인 혹은 오프라인으로 모여 코딩 및 학습을 진행하는 자기주도적 학습 소모임 2. 진행 계획 및 목표 7/6, 7/13, 7/20, 7/27, 8/3, 8/10 총 6회에 걸쳐 진행할 계획 7/6 19시 ~ 22시 (온라인) 인프런 알고리즘 강좌 5개 강좌 수강 및 문제 풀이 후 github에 push 7/13 19시 ~ 22시 (온라인) 인프런 HTTP 강좌 6개 강좌 수강 후 노션에 강의 내용 정리 7/20 19시 ~ 22시 (온라인) 인프런 알고리즘 강좌 5개 강좌 수강 및 문제 풀이 후 github에 push 7/27 19시 ~ 22시 (온라인) 인프런 알고리즘 강좌 5개 강좌 수강 및 문제 풀이 후 github에 push 8/3 19시 ~ 22시 (온..
이번에 졸업 프로젝트를 진행하며 프로젝트를 깃헙으로 관리하게 되었는데 의도치 않게 .idea 등 개인 프로젝트 설정 파일까지 모두 깃헙이 관리하는 파일로 설정되어 업로드 되는 일이 발생했다. 이런 경우 fetch, pull 과정에서 개인 프로젝트 설정이 날라가는 일이 발생할 수 있으니 수정해야한다고 멘토님께서 지적해주셨고 이와 관련한 pr도 올려주셨다. 멘토님께서 올려주신 pr에 포함된 .gitignore 파일을 확인하던 중 .gitignore 문법과 규칙에 대해 이해되지 않는 부분이 있어서 찾아보고 중요하다고 생각되는 것들을 정리했다. .gitignore 문법 공백 → no files #로 시작하는 line → 주석 \를 통해 escape 할 수 있다. ! → 이전 패턴에 의해 exclude 되었던 파..
알고리즘 문제를 풀다보니 문제는 풀 수 있겠는데 형변환을 못해서 해결이 안 되는 문제가 꽤 많았다. 그래서 형 변환 문제에 봉착할 때마다 계속해서 추가하며 정리해보려고 한다. String ↔ int Integer의 static 메소드 parseInt, toString을 사용할 수 있다. String → int // 기본형 int i = Integer.parseInt(str); // str이 x진수로 작성되었다고 생각하고 int로 변환 int t = Integer.parseInt(str, x); int → String String str = Integer.toString(i); char ↔ int 이 경우 (char), (int)로 간단하게 변환 가능 char로 변환하는 경우 int 값을 아스키코드로 인식..