| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |
- Backjoon
- 다이나믹프로그래밍
- DFS
- 삼성
- sort
- Python
- 그래프
- SWEA
- 알고리즘
- 코테
- 백준
- boj
- 코딩테스트
- 스택
- 자료구조
- 파이썬
- 힙큐
- BFS
- DP
- 자바스크립트
- SW역량테스트
- Blind
- 카카오
- javascript
- algorithm
- Daum
- 프로그래머스
- SSAFY
- 완전탐색
- 싸피
- Today
- Total
목록전체 글 (322)
맞왜틀
https://leetcode.com/problems/valid-anagram/description/1. 문제의 본질 파악아나그램(Anagram)은 단어의 알파벳 순서를 바꿔서 다른 단어를 만드는 것입니다. 즉, "순서는 상관없이 구성하는 각 알파벳의 종류와 개수가 완전히 동일한가?"를 묻는 문제입니다.두 문자열을 정렬해서 비교하는 방법[O(N log N)]도 있지만, 해시맵(Hash Map)을 활용하면 단 한 번의 카운팅[O(N)]으로 훨씬 빠르게 해결할 수 있습니다.2. 놓치기 쉬운 엣지 케이스: 얼리 리턴 (Early Return)문자열을 비교하기 전 가장 먼저 확인해야 할 것은 길이입니다.두 문자열 s와 t의 길이가 다르다면 알파벳 개수를 셀 필요도 없이 절대로 아나그램이 될 수 없습니다. 코드 ..
https://leetcode.com/problems/two-sum/1. 직관적인 출발: 브루트 포스 (Brute Force)가장 먼저 떠올릴 수 있는 가장 직관적인 접근법입니다. 배열 내의 모든 가능한 두 수의 조합을 이중 루프(for문)로 전부 확인하며 합이 target이 되는지 검사합니다.시간 복잡도: $O(N^2)$ (구체적으로는 $\frac{N(N-1)}{2}$번 연산)특징: 누구나 쉽게 구현할 수 있고 문제 이해의 출발점이 되지만, 배열의 크기가 크면 시간 초과가 발생할 위험이 있습니다./** * @param {number[]} nums * @param {number} target * @return {number[]} */var twoSum = function (nums, target) { ..
🎭 투두 앱에 Playwright E2E 테스트 추가하기📌 작업 개요레트로 스타일의 투두 앱에 Playwright를 활용한 E2E(End-to-End) 테스트를 추가했습니다. 접근성(Accessibility)과 테스트 가능성을 함께 개선했습니다.🎯 주요 작업 내용2. 접근성(Accessibility) 개선스크린 리더 사용자와 E2E 테스트를 위해 aria-label 속성을 추가했습니다.// TodoInput.tsx ADD// TodoItem.tsx onToggleTodo(todo.id)} aria-label={todo.completed ? '할 일 완료 취소' : '할 일 완료'}> {todo.completed ? '✓' : ''} onRemoveTodo(todo.id)} aria-label..
🔄 React Native와 WebView 양방향 네비게이션 완벽 가이드React Native 앱 안에서 웹 콘텐츠를 보여주고, 서로 자유롭게 화면을 이동하는 방법을 알아봅니다. Expo Router와 Next.js를 사용한 실전 예제로, Native ↔ WebView 간의 완벽한 네비게이션을 구현해보겠습니다.📋 목차 왜 WebView 네비게이션이 필요한가? 전체 아키텍처 Native → WebView 이동 WebView → WebView 이동 WebView → Native 이동 실전 팁 & 주의사항1. 왜 WebView 네비게이션이 필요한가?💡 실무 시나리오 하이브리드 앱: Native 기능 + 웹 콘텐츠 혼합 빠른 업데이트: 앱 배포 없이 웹 페이지만 ..
📱 Expo Router로 Stack Navigation 마스터하기React Native와 Expo로 모바일 앱을 개발하면서 Stack Navigation을 구현해봤습니다. 특히 Expo Router의 파일 기반 라우팅과 네비게이션 메서드들(push, replace, back)의 차이를 실습하며 많은 것을 배웠는데요, 그 경험을 공유합니다! 🚀🎯 목표 Expo Router로 Stack Navigator 구현하기 목록 → 상세 → 편집 3단계 화면 구조 만들기 push, replace, back 차이 이해하기 크로스 탭 네비게이션 구현하기📂 파일 구조Expo Router는 파일 시스템 기반 라우팅을 사용합니다. _layout.tsx 파일로 네비게이터를 정의하고, 폴더 구조가 곧..
쿠키 기반 인증 vs JWT, 그리고 CSRF까지 완벽 정리요즘 프론트엔드 개발을 하다 보면, JWT 인증과 쿠키 기반 인증을 모두 접하게 됩니다. 처음에는 “JWT는 토큰이라서 안전하고, 세션은 옛날 방식 아닌가?” 하는 오해가 생기기 쉬운데요. 이번 글에서는 두 방식의 차이부터, 실제 서비스에서 고려해야 하는 보안 이슈(CSRF, HttpOnly, SameSite)까지 정리해보려 합니다.1. 쿠키, 세션, JWT 기본 개념1-1. 세션 기반 인증서버가 로그인 요청을 받으면, 해당 유저 정보를 세션 저장소(메모리, Redis 등)에 저장하고 세션 ID를 브라우저 쿠키로 내려줍니다.Set-Cookie: sessionId=abc123; HttpOnly; Secure;이후 요청마다 브라우저는 자동으로 ..