전체 글 166

[프로그래머스: 정렬] K번째수

https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 코드import java.util.*;class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; for (int idx = 0; idx # ✨ 프로그래머스 1등 코드 ✨ import java.util.Arrays;class Solution { p..

[프로그래머스: 완전탐색] 피로도

https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # DFS 코드class Solution { int maxCount = 0; // 최대 탐험 수를 저장할 변수 public int solution(int k, int[][] dungeons) { boolean[] visited = new boolean[dungeons.length]; // 던전 방문 여부 체크 배열 // DFS를 통해 던전 순서를 모두 탐색 dfs(k, dungeons, visit..

[Java] 람다(Lambda)를 활용한 커스텀 정렬 이해하기

왜 커스텀 정렬이 필요할까?Java에서 Arrays.sort()나 Collections.sort()를 사용하면 기본적으로 오름차순 정렬이 된다.내림차순 정렬은 Arrays.sort(배열, Collections.reverseOrder()); 와 같이 사용한다.(단, sort()에 Collections.reverseOrder()를 인자로 전달하기 위해서 배열은 int[]가 아닌 Integer[]처럼 래퍼클래스여야 함)Arrays.sort(배열); // 오름차순 (default)Arrays.sort(배열, Collections.reverseOrder()); // 내림차순하지만 코딩테스트에서는 종종 특정 조건에 따라 정렬해야 할 상황이 생긴다.문자열 길이 기준 정렬객체의 점수 기준 내림차순 정렬두 가지 조건(점..

[프로그래머스: 완전탐색] 카펫

https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 코드class Solution { public int[] solution(int brown, int yellow) { int size = brown + yellow; // 카펫의 면적 (총 격자 수) for (int h = 3; h 갈색 타일 수 계산식 : (가로 + 세로 - 2) * 2 = brown노란색 타일 수 계산식 : (가로 - 2) * (세로 - 2) == yellow갈색 타일 수 계산..

[프로그래머스: 완전탐색] 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 코드import java.util.*;class Solution { Set set = new HashSet(); // 중복없이 저장하기 위한 set public int solution(String numbers) { permutation("", numbers); // 모든 숫자 조합을 만들어 set에 저장 int answer = 0; for (int num : set) {..

[프로그래머스: 완전탐색] 모의고사

https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 코드import java.util.*;class Solution { public int[] solution(int[] answers) { int[] pattern1 = {1, 2, 3, 4, 5}; int[] pattern2 = {2, 1, 2, 3, 2, 4, 2, 5}; int[] pattern3 = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5}; int[] score = ..

[프로그래머스: 완전탐색] 최소직사각형

https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # 초기 코드class Solution { public int solution(int[][] sizes) { int max_w = 0; int max_h = 0; for (int[] card : sizes) { // 세로 길이가 더 길면 눕힘 if (card[0] 카드 하나하나 눕히는 딩초코드 ┌( ´_ゝ` )┐ # ✨ 프로그래머스 1등 코드 ✨..

[프로그래머스: 해시] 완주하지 못한 선수

https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # sort()를 이용한 코드import java.util.*;class Solution { public String solution(String[] participant, String[] completion) { Arrays.sort(participant); Arrays.sort(completion); for (int i = 0; i 시간복잡도 : O(n log n) # HashMa..

[프로그래머스: BFS] 단어 변환

https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # BFS 코드import java.util.*;class Solution { List visited; // 방문 여부 체크 리스트 (방문한 단어를 저장) public int solution(String begin, String target, String[] words) { visited = new ArrayList(); // 방문 리스트 초기화 return bfs(begin, target, ..

[프로그래머스: DFS/BFS] 네트워크

https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # DFS 코드class Solution { public int solution(int n, int[][] computers) { boolean[] visited = new boolean[n]; // 각 컴퓨터의 방문 여부 체크 배열 int answer = 0; for (int i = 0; i DFS/BFS 모두 방문 여부를 체크하는 visited 배열이 2차원이 아니라 1차원인 이유 : 방문 여부를 ..

[프로그래머스: DFS] 여행경로

https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # DFS 코드import java.util.*;class Solution { List route = new ArrayList(); // 최종 정답 경로를 저장할 ArrayList Map> map = new HashMap(); // 출발지 → 도착지를 저장할 map (알파벳 순 정렬 위해 우선순위 큐 사용) public String[] solution(String[][] tickets) { for (String[] ..

[프로그래머스: BFS] 게임 맵 최단거리

https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # BFS 코드import java.util.*;class Solution { boolean[][] visited; // 방문 여부 체크 배열 int[][] result; // 각 칸별 최단 거리 저장 배열 // 상하좌우 방향 이동을 위한 배열 int[] dx = { -1, 1, 0, 0 }; int[] dy = { 0, 0, -1, 1 }; // maps의 크기 int n; // 행의 개수 ..

[프로그래머스: DFS/BFS] 타겟 넘버

https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr # DFS 코드class Solution { int answer = 0; public int solution(int[] numbers, int target) { dfs(numbers, target, 0, 0); // DFS 시작 return answer; } // DFS 함수 public void dfs(int[] numbers, int target, int idx, ..

[SpringBoot] 소셜 로그인 백엔드 구현 완전정복: 구글, 카카오, 네이버

소셜 로그인은 사용자가 각 소셜 플랫폼(구글, 카카오, 네이버)에 저장된 계정을 통해 빠르고 안전하게 로그인할 수 있도록 지원한다. 이 글에서는 구글, 카카오, 네이버 소셜 로그인의 백엔드 구현 과정에서 각 파일들을 설명하고, 전체적인 흐름을 정리해 보겠다.   폴더 구조Google, Kakao, Naver 소셜 로그인 구현을 마친 프로젝트 폴더 구조는 아래와 같다.   주요 파일 설명src└── main ├── java │ └── com.example.Profee │ ├── config │ │ ├── SecurityConfig.java # CORS 및 인증 정책 설정 │ │ └── SwaggerConfig.java # API..

프로젝트/Profee 2024.12.21

SQLD 24시간 합격 후기

SQLD를 합격했다.  정신없는 와중에 친 시험이라 합격에 확신이 없었는데 운이 좋았던 것 같다. 👉🏻👈🏻  SQLD 공부 미세먼지팁 높은 점수가 나온 것도 아니고, 정석으로 공부한 것도 아니라 많이 부끄럽지만 공부했던 과정을 공유해보려 한다. 내로라하는 책러버로서 노랭이 책도 구비했지만, 사실 노랭이 책에는 개념 설명이 없다. (👀) SQLD에 대해서는 거의 노베이스 상태였기 때문에 양치기보다는 개념을 잡아야겠다고 생각했다.   그래서 노랭이 책을 버리고 모신 선생님은 이분이다. 🙏🏻 (광고 아님) SQLD_NEW2024년 3,4회차 시험 대비하는 분들인 이 재생목록 영상을 시청하시면 됩니다 (기존 영상 및 자료에서 누락된 부분 및 오탈자 수정하여 재편집된 영상입니다)www.youtube...

자격증/SQLD 2024.12.21