📄 코딩 컨벤션 문서네이버 : https://naver.github.io/hackday-conventions-java/구글(번역본) : https://github.com/JunHoPark93/google-java-styleguide구글(원본) : https://google.github.io/styleguide/javaguide.html🤔 두 스타일 가이드 중 어떤 것이 프로젝트에서 더 적합할지 판단하려면?크게 아래의 기준에 따라 갈릴 수 있겠습니다. 1. 팀의 경험과 기술 스택팀원들의 경험 : 팀이 이미 특정한 스타일 가이드에 익숙하다면, 그 가이드를 따르는 것이 효율적입니다.기술 스택 : 프로젝트에서 사용되는 기술과 라이브러리에 따라 특정 가이드가 더 잘 맞을 수 있습니다.2. 프로젝트의 성격오픈 ..
전체 글
문제https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 소요 시간 : 1시간난이도 : LV 3접근 방법플루이드-와샬 방법을 변형한다. ⬇️ 참고 블로그에 자세하게 설명이 되어 있다.https://dev-musa.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-Level-3-%EC%88%9C%EC%9C%84 프로그래머스 Level 3 순위순위 출처: 프로그래머스 https..
DB를 연동하기 위해서 DB 접속 정보를 application 설정 파일에 명시해주어야 한다.그러나 이런 DB 접속 정보는 유출되면 위험한 굉장히 민감한 정보이므로,실수로라도 git에 올라가지 않도록 숨기는 작업을 해야한다. 1️⃣ application-db 설정 파일 생성하기 application-db 이라는 파일을 생성하고, 확장자는 properties 이나 yml 중 선택한다. 아래의 비교글을 보고 원하는 확장자로 만든다.https://yeonyeon.tistory.com/245 .properties vs .yml🤔 서론 나는 설정 파일을 application.properties만 써봤다. 필요하다면 application-prod.properties나 application-dev.propert..
Spring Boot 프로젝트를 처음 시작할 때 진행하는 단계를 정리해보았다.Spring Boot 프로젝트 생성 -> DB 연결 -> Git repository 연결 순으로 진행한다. IntelliJ, Java, MySQL는 설치되어 있다는 가정 하에 포스팅한다.🍃 Spring Boot 프로젝트 생성 spring initializr 스프링부트를 기반으로 프로젝트를 생성해주는 사이트로 프로젝트를 다운하여 쉽게 사용이 가능하도록 만든 사이트이다.위와 같이 프로젝트의 버전, 라이브러리, 언어 등을 선택하여 간편하게 생성할 수 있다.https://start.spring.io/ Project : Spring Boot를 빌드하고 배포하는 방식Maven, Gradle 2가지 중에 선택하면 된다. 스크립트 가독성이..
문제https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 소요 시간 : 50분난이도 : LV 2접근 방법3진법과 유사하여 몫과 나머지를 이용해 숫자를 바꾸어주면 된다.자세한 설명 : https://yabmoons.tistory.com/692 다만 주의할 점은 124나라에는 3진법과 달리 0이 없다는 것이다. 0으로 나누어 떨어지는 경우 몫을 -1 해주고 나머지를 4로 변경해주면 124 나라에서 사용하는 숫자의 형태가 된다.아래는 1부터 15까지 이를 적..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/68645 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 소요 시간 : 44분 난이도 : LV 2 접근 방법 직접 달팽이를 그렸다.1. 하, 우, 좌상 방향을 반복한다.2. 범위를 넘어가거나, 가고자 하는 방향에 이미 숫자가 채워져있으면 방향을 전환한다.3. 가장 마지막 숫자를 판별..
문제https://school.programmers.co.kr/learn/courses/30/lessons/42746# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr소요 시간 : 35분난이도 : LV 2접근 방법1. 순열순열을 이용하여 모든 경우의 수를 비교해본 후 가장 큰 문자열을 반환하였다. 2. 정렬2개의 문자열을 붙였을 때 큰 문자열이 되도록 정렬 함수를 구현하였다.ex. 30, 330+3 = 303 vs 3+30 = 30=> 3, 30 으로 정렬 나의 풀이1. 순열#include #include #include #include using names..
문제https://www.acmicpc.net/problem/1913 소요 시간 : 30분난이도 : 실버 3접근 방법1. (0, 0) 부터 N^2의 수를 역순으로 1까지 채워나간다.2. 방향은 하, 우, 상, 좌를 번갈아서 채운다.방향을 바꾸는 시점은 아래 2가지이다. - x, y가 0보다 작거나 N과 같을 경우- 가려는 곳에 이미 숫자가 채워져있을 경우 나의 풀이#include #include using namespace std;int map[1000][1000];int N, X;int dy[4] = {1, 0, -1, 0};int dx[4] = {0, 1, 0, -1};int main() { cin >> N; cin >> X; int dirIdx = 0, x = 0, y = 0; ..
문제https://www.acmicpc.net/problem/1764 소요 시간 : 17분난이도 : 실버 4접근 방법1) map 이용한 방법 1. 이름-개수 를 저장한 map을 만든다.2. 듣도못한사람, 보도못한사람을 입력받아 개수를 늘려준다.3. 개수가 2인 것만 리스트를 만든다. 2) 정렬&포인터 이용한 방법1. 듣도못한사람, 보도못한사람의 리스트를 만든다.2. 각 리스트를 사전 순으로 정렬한다.3. 각 리스트를 반복하는 인덱스를 만든다.4. 2개의 인덱스를 비교하면서이름이 같으면 듣도보도못한사람 리스트에 넣고, 이름이 사전순으로 작으면 인덱스를 하나 올려 다음 것과 비교하도록 한다.나의 풀이1) map 이용한 방법 - 메모리 : 12856 KB- 시간 : 124ms#include #include #..
문제https://www.acmicpc.net/problem/15685소요 시간 : 1시간난이도 : 골드 3접근 방법구현/시뮬레이션 이다. 1. 드래곤 커브의 규칙을 찾는다. 드래곤 커브를 그려서 방향을 나열해보면 0세대 : 01세대 : 0 12세대 : 0 1 2 1 3세대 : 0 1 2 1 2 3 2 1 ... n세대 : n-1세대 + (n-1세대 역순에 1씩 더한 것) 이라는 것을 알 수 있다. ex. 1세대 : 0 12세대 : 0 1 1+1 0+1 = 0 1 2 1 이러한 규칙을 바탕으로 드래곤 커브의 방향 정보들을 가지고 있는다. 2. 입력받은 시작점에서 위의 드래곤 커브의 방향 정보에 따라 움직이고 방문한 곳은 1로 변경한다.3. 전체 맵을 돌면서 현재 점과 우, 우하, 하단의 점이 모두 방..