등굣길 프로그래머스 42898 등굣길 "등굣길" 이 맞다. 문제 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 입출력 예시 접근 DP 어쩌다보니 문제가 DP라는 생각을 하지 못한 채 풀이를 시작하게 되어, 최단경로 라는 키워드로 BFS를 떠올렸다. Queue queue = new LinkedList(); queue.add(new int[]{0,0}); int count = 0;..
전체 글
HTTP는 웹 서버와 클라이언트 간의 정보를 교환하는 표준 프로토콜 HTTP는 암호화되지 않아 데이터가 도중에 도청되거나 변조될 수 있는 단점이 있음 HTTPS는 HTTP에 SSL/TLS 보안 프로토콜을 추가한 것 이는 데이터를 암호화하여 전송함으로써 보안을 강화함. HTTPS는 데이터의 기밀성과 무결성을 보장하며, 사용자가 방문하는 사이트의 신뢰성도 검증 대부분의 웹 브라우저는 HTTPS를 사용하는 사이트에 자물쇠 아이콘**을 표시하여 보안 연결임을 나타냄 TCP(Transmission Control Protocol), UDP(User Datagram Protocol) TCP는 연결 지향적 프로토콜, UDP는 비연결형 프로토콜 TCP는 이터가 정확하게 전송되고 순서대로 도착하도록 보장하며 이터 손실이 ..
RDBMS의 정규화란? 데이터베이스 설계 방식은 비정규화, 인덱싱, 트랜잭션 관리, 보안관리 백업복구가 있는데, 이 중, 정규화는 데이터의 중복을 최소화하고 효율적으로 관리하기 위한 방식. 정규화 적용에는 5나 6단계를 거침 그러나 보통 3단계로도 충분함 1차 (1NF) 각 필드가 하나의 값만을 갖도록 만듦 예를들어 한 학생당 여러 과목의 성적을 가지고 있는것을 한 행에 학 학생의 한 과목만 들어가게 만드는 것. 2차 (2NF) 데이터를 더 분리해서 각 데이터 조각이 기본키에 의존하도록 만듦 가령 학생의 주소같은 개인정보는 별도의 테이블로 분리하고, 학생 ID를 이용하여 성적 테이블과 연결 3차 (3NF) 데이터간 의존성을 제거 최혁 국어 50 수학 60 과학 70 영어 80 이었을때 현재까지는 최혁 국..
2024년 01월 06일 TIL 프로젝트를 진행하며 여태 서비스 내에서 jwt 발급을 이용한 로그인 구현만 다뤄보았다. 이번에 진행할 프로젝트에서는 실제 서비스를 가정하여 타겟층이 대부분 가지고 있을것이라 판단한 github, google, naver, kakao 네 종류의 도메인으로 소셜 로그인을 구현하려고 했었다.소셜로그인 고찰 0 헌데, 시작 전부터 문제가 생겼다. 네이버는 사업자로 등록되어 있지 않으면 소셜 로그인을 위한 api를 제공하지 않는다는 것. 네이버는 빼기로 했다. 기왕 빼는거 카카오도 빼고 순수하게 개발자만을 위한 느낌으로 github와 google만 챙기기로 했다. 고찰 1 유저가 가입할 때 가입하는 도메인이 다른 부분을 착안해 이메일을 아이디로 사용하는 의견이 나왔다. 그러나 gi..
1. 해시 자료구조와 충돌 해결 해시 테이블에서 키 충돌을 처리하는 가장 일반적인 방법 두 가지는 무엇인가요? A) 선형 탐색과 이진 탐색 B) 선형 조사와 이중 해싱 C) 체이닝과 개방 주소법 D) 재귀적 분할과 합병 2. 그래프 이론과 트리 다음 중 그래프와 트리의 차이점을 올바르게 설명한 것은 무엇인가요? A) 그래프는 사이클을 포함할 수 있지만, 트리는 사이클이 없다. B) 그래프는 방향성이 있지만, 트리는 방향성이 없다. C) 트리는 항상 연결 그래프이지만, 그래프는 그렇지 않을 수 있다. D) 그래프는 루트 노드가 있지만, 트리에는 루트 노드가 없다. 3. 정렬 알고리즘의 효율성 다음 중 퀵정렬과 병합정렬의 주요 차이점을 설명한 것은 무엇인가요? A) 퀵정렬은 항상 O(N log N)의 시간복..
2023년 12월 28일 TIL TRELLO 를 구현하기 위해 SA를 작성한 후 API 명세와 ERD 를 기준으로 MEMEBER 테이블을 만들어 BOARD에 가입한 USER의 LIST를 대신하기로 했다. CREATEBOARD Board 를 생성할 때는 User 의 getid() 를 통해 board 의 createdBy 에 생성한 User 데이터를 저장한다. UPDATEBOARD board 수정시에는 member.Role 을 체크하여 ADMIN 멤버만 update 할 수 있다. READBOARD BY MEMBER board 에 가입한 member는 User 데이터로 검증하여 해당 User가 board에 속한 member일 경우, ReadBoard 를 통해 단건 조회해준다. READBOARDS BY USER..