오늘 할 일
- LeetCode 데일리 문제 풀기
- 프로젝트 - redirect uri 수정 및 회원가입시 프로필 이미지 저장하기
- 약속이 있어서 빈약한 하루... ^^;3
오늘 배운 것
LeetCode 데일리 문제 풀기
- 오늘의 문제: 1466. Reorder Routes to Make All Paths Lead to the City Zero(https://leetcode.com/problems/reorder-routes-to-make-all-paths-lead-to-the-city-zero/)
- 문제 조건
- 0부터 n - 1까지 번호가 매겨진 n개의 도시와 n - 1개의 도로가 있으므로 서로 다른 두 개의 도시들 사이에 도달할 수 있는 방법은 하나뿐이다. 작년, 교통부는 도로가 너무 좁기 때문에 한 방향으로 향하도록 결정했다.
- 도로들은 도시 ai부터 도시 bi까지 도달하는 길을 표현하는 connections[i] = [ai, bi] 형태인 connections로 표현된다.
- 올해, 수도에는 큰 이벤트가 예정되어 있고, 많은 사람들이 이 도시로 여행가기를 원한다. (수도는 도시 0이다.)
- 각 도시에서 도시 0을 방문할 수 있도록 재구성해야 한다.
- 재배치 후에는 각 도시가 도시 0에 도달할 수 있어야 한다.
- 문제 해결 과정
- 이 문제는 각 도시를 0번 도시로 연결하려면 몇 개의 간선을 바꾸어야 하는지를 구하는 문제이다.
- 그래프에 각 도시들의 연결 상태를 표시하기 위해 도시들을 저장하는 리스트를 만든다. 이 때, 각 간선은 정방향과 역방향 간선으로 나눠서 저장해야 한다.
- 이후부터는 dfs를 이용해서 연결되지 않은 도시를 0번 도시와 연결하면서 바꿔야 하는 간선의 수를 세어야 한다. visited를 통해 방문한 도시는 다시 방문하지 않도록 체크한다. 방문한 간선의 방향까지 체크해야 하는데, 양수의 경우는 정방향, 음수의 경우는 역방향 간선이다.
프로젝트 - redirect uri 수정 및 회원가입시 프로필 이미지 저장하기
- 프론트 쪽에서 redirect uri가 제대로 넘어오지 않는다는 코멘트 → 테스트 도중 변경해놓은 uri 때문에 발생한 문제였음. uri 변경 후 재배포
- 회원가입에서 프로필 이미지를 저장하는 코드를 작성했습니다. 삽입 또는 삭제되는 파일이 하나만 있기 때문에 작성하는 과정은 비교적 간단했습니다.
- 이제 회원 정보 수정에서도 같은 기능을 삽입할 생각입니다.
느낀점
- 리트코드에서 나온 그래프 문제입니다. 이제 그래프 문제가 나왔을 때 생각해볼 것들을 조금은 알 것 같습니다만 아무래도 따로 공부를 해서 정리해봐야겠습니다.
- 프로필 이미지 작성을 하면서 오랜만에 재밌었습니다. 꽤나 즐거운 시간이어서 시간가는 줄도 모르고 했습니다. 다만, 오랜만에 하다보니 git 브랜치에 병합하는 일을 헷갈려서 이전에 작성한 두 줄짜리 코드를 취소하고 다시 작성했습니다. 만약 많은 코드를 작성했는데 이런 일이 생겼다면 상상조차 하기 싫습니다... 항상 조심조심!! pull 받는 것을 습관화 하자!!
내일 할 일
- 👰🏻♀️ 친구 결혼식 가기!
'TIL' 카테고리의 다른 글
TIL_20230327 (0) | 2023.03.27 |
---|---|
TIL_20230325-26 (0) | 2023.03.26 |
TIL_20230323 (0) | 2023.03.23 |
TIL_20230322 (0) | 2023.03.22 |
TIL_20230321 (0) | 2023.03.21 |