본문 바로가기
반응형

전체 글330

[백준 14267] 회사 문화1 (python) https://www.acmicpc.net/problem/14267 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 회사 문화1 문제 상사로부터 부하로 칭찬을 내리 칭찬할 경우 받는 칭찬의 수를 구하는 문제 #사용 알고리즘 다이나믹 프로그래밍 📌문제 접근 포인트 1. 상사가 받는 칭찬은 본인 보다 부하인 직급에 모두 더해진다. 그러므로 받은 칭찬을 우선적으로 구하고, 해당 상사의 부하들에 대해 칭찬 수를 증가해주면 된다. 2. 칭찬 포인트(good)를 만들어서 각 상사에 매칭되는 최초 칭찬 값을 넣어주자. 3.. 2024. 3. 13.
[프로그래머스] 숫자 문자열과 영단어 (python) https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 숫자 문자열과 영단어 문제 문자를 숫자로 바꾸는 문제 #사용 알고리즘 구현 📌문제 접근 포인트 1. 숫자가 나오면 숫자, 영단어가 나오면 숫자로 바꿔주면 된다. 이를 위해 딕셔너리 혹은 리스트를 활용하자. 2. 리스트나 딕셔너리를 활용해서 해당 값을 만나면, 변환해주도록 구성하면 끝 ⚙ 내가 푼 정답 코드1 (효율 나쁨) def solution(s): nums = {'zero' : '0', 'on.. 2023. 11. 23.
[Spring/Java] JWT 토큰 사용하는 이유 및 구현 방법 (Feat. 세션/쿠키) 프로젝트를 진행하는 과정에서 로그인 토큰 인증 방식을.사용하기 위해 JWT 토큰 인증 방식을 도입했다. 로그인 진행시 필요한 정보(id 등)를 담아서 요청할 필요가 있었다. 이를 원활하게 사용하기 위해 토큰에 인증 정보를 담아 전달하는 방식을 사용하는 JWT를 이용하는 방식이 이후 로직 처리에 있어 편리하게 동작할 것이라고 생각하여 세션과 쿠키 방식이 아닌 토큰을 통한 암화하는 방식을 이용했다. 특히, 정보를 담고 있는 토큰이 있으면 요청, 응답 시마다 DB를 확인할 필요가 없이 토큰에 연결된 저장 정보만으로 보여줄 수있다는 장점와 MSA구조에서는 JWT 사용 시 부하를 감소 시킬 수 있기에 채택했다. Cookie Cookie란? 클라이언트가 웹 사이트에 접속할 때 그 사이트가 사용하고 있는 서버에서 사.. 2023. 11. 23.
[백준 2644] 촌수계산(python) https://www.acmicpc.net/problem/2644 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net 촌수계산 문제 부모 자식들 간의 관계가 주어졌을 때, 주어진 두 사람의 촌수를 계산하는 문제 #사용 알고리즘 너비 우선 탐색(BFS) 📌문제 접근 포인트 1. 촌수 계산을 하는 문제. 즉, 촌수는 한칸 넘어갈 때마다 해당 위치에서 촌수가 +1씩 증가한다. 2. 1씩 증가하는 탐색 방법 중 가장 보편적인 방법인 BFS를 구현하면 된다. 일반 기본 BFS 구현 문제들과 풀이 방식이.. 2023. 11. 21.
[Spring/Java] CORS 이슈 처리 방법 Spring을 사용하여 프로젝트를 진행하는 과정에서 CORS 이슈가 발생했고, 이 과정에서 로컬에선 정상적으로 CORS처리가 됐으나, 배포 환경에서는 오류가 발생하여 원인을 찾느라 애먹었다. 결론부터 말하자면, 내가 작성한 부분이 원인이 아닌 MSA구조로 작성하는 과정에서 게이트웨이에서 CORS가 발생했던 이슈였다. 게이트웨이에서 CORS 처리를 해줬더니 정상 동작했다. CORS(Cross-Origin Resource Sharing) CORS란? 보안 이슈로 인해 웹 페이지에서 리소스에 대한 Cross-origin 요청을 관리하기 위한 보안 메커니즘으로 서버의 동의가 된 요청들에 대해서만 요청할 수 있도록 제한하는 것 모든 데이터 요청을 허용할 경우 데이터 무결성이 보장되지 않으며 다른 사이트에서 원래 .. 2023. 11. 21.
[React/TypeScript] Context API를 활용한 전역 모달 관리하기 프로젝트를 진행하는 과정에서 경고창 등으로 React의 Alert을 직접적으로 사용할 경우 사용자 경험(UX) 적으로 부정적이라는 이슈가 있고, 커스터마이징을 할 수 없단 이슈가 있었다. 특히, Alert 함수를 직접 사용 시에 동기적인 실행으로 인해 경고창이 닫히기 전까지 코드 실행이 중단되는 이슈가 발생하기에, 모달을 이용해서 알림 창을 커스텀하고자 하였다. 이 과정에서 모달 하나를 만들 경우 컴포넌트에 계속해서 귀속되는 현상으로 모달을 관리하기 힘들고, 코드가 굉장히 지져분해져서 모달을 전역으로 관리하기로 했고, 이 과정에서 Context API를 적용해 보았기에 기록으로 남겨보고자 한다. Context API API Context란? React에서 지원하는 기능으로 부모 - 자식 간에 props를.. 2023. 11. 21.
반응형