[문제 - 2178번 미로 탐색]https://www.acmicpc.net/problem/2178 [접근방식]그래프 탐색 알고리즘 문제를 집중적으로 해결하고 싶어서 선택한 문제이다.문제 자체는 많이 접해본 뉘양스가 느껴졌다.이동가능한 칸은 1, 이동불가능한 칸은 0으로 표시되어 있는 배열이 있다.좌측 상단 출발점(1,1) 에서 우측 하단 도착점(N, M)으로 이동가능한 최소 비용을 구하는 길찾기 문제 였다. DFS / BFS 중 어떤 것을 사용해야 하는지 상당히 많은 시간을 고민하였다. 문제에서 "항상 도착위치로의 이동을 보장" 이라고 명시하였고, 문제에서 원하는 답이 "최소 비용" 이므로, "BFS" 를 선택했다. BFS 방식의 핵심1. 현재 노드에서 접근 가능한 노드를 Queue에 담아 순차적으로 이..
분류 전체보기
[2023 KAKAO BLIND RECRUITMENT - 미로 탈출 명령어]https://school.programmers.co.kr/learn/courses/30/lessons/150365 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [접근 방식]키워드는 '맨해튼 거리' , '백트래킹' 이다. 맨해튼 거리란 2차원 평면 좌표 위 두점 점p(x1, y1) 에서 점q(x2, y2)의 최소 거리를 뜻하는 것으로, 맨해튼 거리는 |x1 - x2| + |y1 - y2| 이다. 백트래킹 이란 해를 찾는 도중 해가 절대 될 수 없다고 판단되면 되돌아가서 다시 해를 찾는 방법이다. 이 두가지 키워드를 이용하는 경..
Java 의 List.sort() 메서드를 활용하여 복잡한 정렬 규칙을 간단히 구현해봅시다. [문제]xx.yy.zz 형식의 문자열 숫자를 정렬하고자 합니다.정렬 조건은 다음과 같습니다. yy, zz, xx 순의 우선 순위를 갖는다. 예를 들어, "80.30.30" 과 "10.30.60" 의 두 문자열을 정렬할 때, 1. yy 자리 비교30 == 30 이므로 비교 불가2. zz 자리 비교30 이와 같은 형식을 가진 문자열들을 오름차순/내림차순으로 정렬하는 방법을 구현해봅시다. [오름차순 정렬]import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws Exception { ..
- OAuthAttributes.classOAuth2를 통해 로그인한 사용자를 Member 객체로 저장하기 위한 클래스package project.board_service.oauth;import lombok.Builder;import lombok.Getter;import project.board_service.entity.Member;import project.board_service.entity.MemberRole;import java.util.Map;@Builder@Getterpublic class OAuthAttributes { private Map attributes; private String nameAttributeKey; private String username; pr..
소셜 로그인을 구현하기 위해 'OAuth'를 알아보고, 코드로 구현할 것이다. - OAuth란?OAuth(Open Authorization)은 사용자 인증을 위한 기술 표준으로서, 사용자 이름(Username), 비밀번호(Password) 등 실제 사용자 자격을 공유하지 않고, 한 서비스에서 다른 서비스로 권한 부여를 전달하기 위한 프로토콜이다. 우리가 자주 사용하는 '소셜로그인'이 이를 활용한 방법이다.'X' 의 로그인 화면을 보면, 'X'에 직접 계정을 만드는 방식도 존재하지만 'Google', 'Apple'과 같은 다른 서비스의 계정을 통해, 'X'에 가입할 수 있다. - OAuth 프로세스 절차OAuth 프로세스 절차는 크게 4단계로 구성된다. 0. 용어 정리깃 허브를 구글 계정을 통해 회원가입..
[문제 해결 목표]게시글 내용이 "\n"에 대해 줄바꿈 되어 출력되어야 한다. [사전 데이터 입력]이와 같이 줄바꿈("\n")이 포함된 게시글 내용을 입력한다. [문제 상황] 게시글 내용에서 줄바꿈이 적용되지 않는다. [해결방법]1. 게시글 내용(lyric)에서 줄바꿈을 html 파일에서 적용가능하도록 바꾼다."\n" -> "" 2. Thymeleaf 뷰 템플릿 수정 (th:text -> th:utext) ※ 'th:text' 와 'th:utext'는 어떤 차이점이 있는 것일까?'th:text'는 Escaped Text로서, HTML escape 처리를 하여 텍스트를 처리한다.'th:utext'는 Unescaped Text로서, HTML escape 처리를 하지 않고 텍스트를 처리한다. - HTM..