슬기로운슬기
[프로그래머스][Lv2][Java] 피로도
study/코딩테스트 2023. 12. 27. 14:57

문제 [완전탐색][dfs][재귀] https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해설 class Solution { // 최대 탐험 횟수를 저장할 전역 변수 private int max = 0; // 주어진 던전(dungeons)에서 k만큼의 에너지로 탐험할 때 최대 탐험 횟수를 반환하는 메서드 public int solution(int k, int[][] dungeons) { // 각 던전을 방문했는지 여부를 저장할 배열 int[] visi..

[프로그래머스][Lv2] 거리두기 확인하기
study/코딩테스트 2023. 12. 21. 10:31

정답 코드 public class Solution { // 이동 방향을 나타내는 배열 private static final int dx[] = {0, -1, 1, 0}; //상, 좌, 우, 하 private static final int dy[] = {-1, 0, 0, 1}; // 자리 옆에 다른 응시자가 있는지 확인하는 메서드 (빈테이블인 경우) private boolean isNextToVolunteer(char[][] room, int x, int y, int exclude) { for (int d = 0; d < 4; d++) { // 해당 방향이 제외된 방향이면 건너뛰기 if (d == exclude) continue; // 새로운 좌표 계산 int nx = x + dx[d]; int ny = ..

article thumbnail
[알고리즘] DFS(깊이우선탐색)와 BFS(너비우선탐색)
study/코딩테스트 2023. 12. 20. 20:21

그래프를 탐색하는 방법에는 크게 깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)이 있다. 그래프란? 정점(node)과 그 정점을 연결하는 간선(edge)으로 이루어진 자료구조의 일종 그래프를 탐색한다는 것은 하나의 정점으로부터 시작하여 차례대로 모든 정점들을 한 번씩 방문하는 것 DFS(깊이 우선 탐색) 시작점에서 한 갈래로 더 이상 갈 수 없을 때까지 탐색하고, 더 갈 곳이 없다면 이전의 경로로 되돌아간다. 가장 직관적이고 구현하기 쉬운 탐색 방법 현재 정점과 연결된 정점들을 하나씩 갈 수 있는지 검사하고, 특정 정점으로 갈 수 있다면 그 정점에 가서 같은 행위를 반복 같은 정점을 다시 방문하지 않도록 정점에 방문했다는 것을 표시 스택이나 재귀함수를 통해 구현 DFS의 구현 - 재귀함수 // 각 노..

[Spring] 로그인 기능 구현 - Redis를 이용한 토큰 재발급 (RefreshToken)
study/study_spring 2023. 11. 25. 22:36

AccessToken과 RefreshToken을 사용한 인증 단계 인증(로그인) 단계 사용자가 아이디와 비밀번호로 로그인을 하면, 서버는 ATK와 RTK를 발급함 ATK : 사용자의 세션을 식별하는데 사용 RTK : ATK가 만료되었을 때 새로운 ATK를 발급받을 수 있게 해줌 AccessToekn 만료 시 ATK가 만료되면, 서버에서는 클라이언트에게 에러를 반환하거나, 클라이언트에서 새로운 ATK를 요청하도록 유도해야함 클라이언트는 RTK와 함께 새로운 ATK를 요청함 RefreshToken을 사용한 Access Token 재발급 클라이언트는 RTK과 함께 서버에 ATK 재발급을 요청 서버는 클라이언트의 요청을 검증, 유효한 경우 새로운 ATK를 발급해줌 이러한 순서로 진행될 예정이다. RefreshT..

[JAVA] 인터페이스(interface)
study/study_Java 2023. 10. 29. 22:48

인터페이스 (interface) 일종의 추상화 클래스 추상메서드와 상수만을 멤버로 가질 수 있음 추상클래스를 부분적으로 완성된 ‘미완성 설계도’라면 인터페이스는 밑그림만 그려져 있는 ‘기본 설계도’ 다른 클래스를 작성하는데 도움을 줄 목적으로 작성된다고 생각 interface 인터페이스이름 { public static final 타입 상수이름 = 값; public abstract 메서드이름(매개변수목록); } public static final, public abstarct 만 사용할 수 있으며 생략 가능 인터페이스 상속 인터페이스는 인터페이스로부터만 상속받을 수 있음 다중 상속이 가능 클래스와 달리 Object클래스와 같은 최고 조상이 없음 interface PostRepository extends J..

반응형