전체 글 110

React Query 정리

React QueryReact Query를 실무에서 활용하기 위해 꼭 알아야 할 개념들을 정리한다.상태 관리, 캐싱 전략, staleTime과 cacheTime의 차이, 서버 캐싱과의 관계까지 모두 포함한다.1. 왜 React Query를 사용하는가기존 방식은 axios + useState + useEffect로 직접 요청과 상태를 관리해야 한다. 반면, React Query는 로딩, 에러, 캐싱, refetch 등을 자동으로 처리해준다.const { data, isLoading, error } = useQuery({ queryKey: ['tasks'], queryFn: () => axios.get('/api/tasks').then(res => res.data),})2. 핵심 개념 요약항목설명quer..

React & Typescript 2025.07.09

[해시테이블] LeetCode 242번 문제 학습

문제 설명Valid Anagram은 두 문자열 s와 t가 애너그램인지 확인하는 문제임. 애너그램은 문자 종류와 개수가 같아야 함.예를 들어, s = "anagram", t = "nagaram"이면 true, s = "rat", t = "car"면 false. 문자열 길이는 같아도 되고 달라도 됨.유니코드 문자 지원해야 함. 푼 과정처음엔 정렬 생각했지만 해시테이블(map)으로 풀었음. s와 t 길이 다르면 바로 false.map[rune]int로 s의 각 문자 개수 세고, t의 문자로 개수 줄임.줄이다가 음수면 t에 없는 문자가 s에 있거나 개수 안 맞는 거라 false. 끝까지 0이면 true. 알고리즘 분석해시테이블 썼음. s와 t 순회 각각 O(n), 맵 조작은 O(1). 총 시간 O(n), n은 ..

leetcode , 백준 2025.06.16

[Go] WinAPI C 타입 ↔ Go 타입 대응표 (syscall + unsafe 기준)

WinAPI 타입 (C/C++) 의미 Go 대응 타입 / 표현 방식 설명BOOL정수형 bool (int)int32 or bool0: false, 1: trueBYTE1바이트 부호 없는 정수byte or uint8 WORD2바이트 부호 없는 정수uint16 DWORD, ULONG, UINT4바이트 부호 없는 정수uint32 INT, LONG4바이트 부호 있는 정수int32 LONGLONG8바이트 부호 있는 정수int64 ULONGLONG, ULARGE_INTEGER8바이트 부호 없는 정수uint64 HANDLE, HWND, HMODULE, HDC 등포인터 기반 핸들uintptr핸들 = 정수형 주소로 처리LPVOID, PVOID아무 타입의 포인터unsafe.Pointer or uintptr(unsafe.Po..

Go/window_api 2025.05.11

[링크드리스트] LeetCode 234번 문제 학습

문제 설명Palindrome Linked List는 단일 연결 리스트가 회문인지 확인하는 문제임. 회문이면 true, 아니면 false 리턴. 예를 들어, 1->2->2->1은 회문이라 true, 1->2->3은 false. 시간복잡도 O(n), 공간복잡도 O(1)로 푸는 게 이상적. 푼 과정세 단계로 풀었음. 첫째, 빠른/느린 포인터(center, end)로 리스트 중간 찾음. end가 두 칸, center가 한 칸씩 가서 중간 노드(center) 구함. 둘째, center부터 끝까지 reverseList로 뒤집음. 셋째, 원래 리스트 헤드(left)와 뒤집힌 리스트(prev)부터 동시에 순회하면서 값 비교. 다르면 false, 끝까지 같으면 true. 빈 리스트나 노드 하나는 바로 true 처리. 로..

leetcode , 백준 2025.05.08

[스택] LeetCode 232번 문제 학습

문제 설명Implement Queue using Stacks는 스택을 써서 큐를 구현하는 문제임. 큐의 연산 push, pop, peek, empty를 지원해야 함. push는 요소를 큐 뒤에 추가, pop은 앞에서 제거하고 리턴, peek은 앞 요소 리턴, empty는 큐가 비었는지 확인. 스택은 후입선출(LIFO)이라 선입선출(FIFO) 큐를 구현하려면 스택 조작이 필요함. 푼 과정스택 하나로 풀었음. 슬라이스([]int)를 스택처럼 써서 구현. push는 슬라이스 끝에 append로 추가. pop은 첫 요소 꺼내고 슬라이스 잘라서 리턴. peek은 첫 요소 리턴. empty는 슬라이스 길이 체크. 근데 이건 스택이 아니라 그냥 슬라이스 직접 써서 큐 구현한 거라 문제 의도랑 살짝 안 맞음. 문제는 ..

leetcode , 백준 2025.05.08

[반복문] LeetCode 228번 문제 학습

문제 설명Summary Ranges는 정수 배열 nums에서 연속된 숫자 구간을 문자열 배열로 표현하는 문제임. 각 구간은 시작과 끝 숫자를 "시작->끝" 형식으로 나타내고, 숫자 하나면 그냥 문자열로 추가. 예를 들어, nums = [0,1,2,4,5,7]이면 ["0->2","4->5","7"] 리턴. nums = [0,2,3,4,6,8,9]면 ["0","2->4","6","8->9"]. 배열은 오름차순이고 중복 없음. 푼 과정배열 순회하면서 연속 구간 찾음. start로 구간 시작 인덱스 관리하고, i로 현재 인덱스 이동. i가 마지막이거나 nums[i]+1이 다음 숫자와 다르면 구간 끝남.start == i면 숫자 하나라 nums[start]를 문자열로 추가. 다르면 nums[start]->nums..

leetcode , 백준 2025.04.25

[트리,재귀] LeetCode 226번 문제 학습

문제 설명Invert Binary Tree는 이진 트리의 좌우 서브트리를 뒤집는 문제임. 각 노드의 왼쪽과 오른쪽 자식을 스왑해서 전체 트리를 반전시켜야 함.예를 들어, 트리가 4(2(1,3),6(5,7))면 반전 후 4(6(7,5),2(3,1))이 됨. 입력은 TreeNode 구조체로 주어지고, 루트 노드를 받아 반전된 트리의 루트를 리턴하면 됨. 푼 과정재귀로 풀었음. 루트가 nil이면 그대로 리턴. nil 아니면 현재 노드의 왼쪽과 오른쪽 자식을 temp 변수 써서 스왑함. 그 다음 왼쪽과오른쪽 서브트리를 재귀로 호출해서 각각 반전. 마지막에 루트 리턴. 코드 간단하고 트리 반전 로직 딱 맞췄음package mainimport ()type TreeNode struct { Val int Left ..

leetcode , 백준 2025.04.25

[스택,큐] LeetCode 225번 문제 학습

문제 설명Implement Stack using Queues는 큐를 써서 스택을 구현하는 문제임. 스택의 연산 push, pop, top, empty를 지원해야 함. push는 요소 추가, pop은 맨 위 요소 제거 후 리턴, top은 맨 위 요소 리턴, empty는 스택이 비었는지 확인. 큐는 선입선출(FIFO)이라 후입선출(LIFO) 스택을 구현하려면 순서를 조작해야 함. 푼 과정큐 하나로 풀었음. 슬라이스([]int)로 큐를 표현하고, push할 때 새 요소를 슬라이스 끝에 추가한 뒤 기존 요소들을 꺼내서 다시 뒤에 붙임. 이렇게 새 요소가 슬라이스 맨 앞에 오니까 pop과 top이 스택처럼 동작함. Pop은 첫 요소 제거 후 리턴, top은 첫 요소 리턴, empty는 슬라이스 길이 체크. 코드 ..

leetcode , 백준 2025.04.24

[배열,해시테이블] LeetCode 219번 문제 학습

문제 설명Contains Duplicate II는 정수 배열 nums와 정수 k가 주어졌을 때, 중복된 숫자가 있고 그 숫자들의 인덱스 차이가 k 이하인지 확인하는 문제임. nums[i] == nums[j]이고 |i - j| 푼 과정해시맵으로 풀었음. map[int]int 만들어서 숫자와 그 인덱스를 저장함. 배열 순회하면서 숫자 v가 맵에 이미 있으면, 현재 인덱스 i와 이전 인덱스 val의 차이 i - val이 k 이하면 true 리턴. 아니면 맵에 v의 인덱스를 i로 갱신. 끝까지 중복 없거나 조건 안 맞으면 false. 코드 간단하고 문제 요구사항 딱 맞췄음.알고리즘 분석해시맵 썼음. 맵에 숫자 저장/체크는 O(1), 배열 한 번 순회하니까 총 시간 O(n). 공간은 맵 때문에 O(n). 정렬 방..

카테고리 없음 2025.04.23