분류 전체보기 97

백엔드 개발자의 핵심 기술 지식

✅ 1. 백엔드 개발자의 핵심 기술 지식📦 API & 서버 구조RESTful API 설계 원칙 (GET, POST, PUT, DELETE + status codes)REST vs GraphQLController → Service → Repository 구조 (NestJS 기준)API 버전 관리, Rate Limiting, Pagination🧱 데이터베이스SQL 기본 문법 (SELECT, JOIN, GROUP BY, INDEX 등)RDB 설계 원칙 (정규화, 관계 설정, PK/FK 개념)PostgreSQL 특성 (시드니 시장 선호 DB)ORM 사용법 (Prisma 또는 TypeORM)트랜잭션, ACID, 커넥션 풀🧑‍💻 인증 & 보안JWT (Access / Refresh 토큰 구조)OAuth2 기본..

🧑‍💻 TypeScript 기본 타입 정리 & 실수 줄이는 팁

🧑‍💻 TypeScript 기본 타입 정리 & 실수 줄이는 팁TypeScript는 자바스크립트에 타입 시스템을 더한 언어로, 코드 작성 시 실수를 줄이고 개발 효율을 높여줍니다. 이번 글에서는 TypeScript를 처음 배우는 분들이 꼭 알아야 할 기본 타입과 몇 가지 유용한 개념들을 간단하게 정리해봅니다.✅ 기본 타입 소개TypeScript에는 다음과 같은 기본 타입들이 존재합니다:string, number, booleannull, undefinedvoidany, unknownnever🔒 readonly 키워드const user: { readonly id: number; name: string } = { id: 1, name: "Jin",};readonly를 사용하면 객체의 특정 속성을 수정할..

최신 React Native 앱에 Tailwind CSS를 적용하는 방법

Expo Router와 NativeWind: 최신 React Native 앱에 Tailwind CSS를 적용하는 완벽 가이드안녕하세요. 이번 글에서는 최신 Expo 환경에서 Expo Router와 NativeWind를 함께 사용해 Tailwind CSS의 강력한 스타일링 기능을 적용하는 방법을 단계별로 소개한다.Expo Router는 파일 시스템 기반 라우팅을 제공하여 웹 개발과 유사한 직관적인 흐름을 만들 수 있게 해주며, NativeWind는 React Native에서 Tailwind CSS를 사용할 수 있도록 도와주는 라이브러리다. 두 도구를 함께 활용하면 개발 생산성과 스타일 관리 효율성을 동시에 높일 수 있다.이 글에서는 Expo Router 프로젝트에 NativeWind를 적용하는 전체 과정을..

8. Product of Array Except Self and Longest Consecutive Sequence

코딩테스트를 준비하는 과정에서 자주 마주치는 대표적인 배열 문제 두 가지를 다루고자 한다. 각각의 문제를 어떤 아이디어로 접근해야 하는지, 코드를 외우기보다는 어떤 흐름으로 이해하고 적용해야 하는지를 중심으로 정리했다.🔹 문제 1: Product of Array Except Self🧠 문제 설명정수 배열 nums가 주어졌을 때,answer[i]는 nums[i]를 제외한 나머지 모든 값의 곱이 되도록 하라.단, O(n) 시간 복잡도, 나눗셈 사용 금지 조건이 있다.🔍 핵심 아이디어현재 인덱스를 제외한 곱을 만들기 위해 좌측 곱 (prefix) 과 우측 곱 (suffix) 을 따로 계산한다.최종적으로 answer[i] = left[i] * right[i]✅ 코드class Solution: def ..

Coding Test 2025.06.16

코테에서 자주 쓰이는 Python 코드/패턴 모음

📦 자주 쓰이는 Python 코드/패턴 모음 🔢 1. Counter – 등장 횟수 세기from collections import Countercount = Counter(nums) 주로: 빈도 수 기반 정렬, top-k 문제예시: count.most_common(1) → 가장 많이 나온 항목 🔁 2. defaultdict – 키 초기화 없이 값 추가from collections import defaultdictd = defaultdict(int)d[key] += 1 주로: dict에 리스트, 숫자 누적할 때예: defaultdict(list) → 키마다 리스트 자동 생성 🥇 3. heapq – 최소/최대 힙import heapqheapq.heappush(heap, val)heapq.heapp..

Coding Test 2025.06.13

6. Top K Frequent Elements

📊 [Python 문제풀이] Top K Frequent Elements — 정렬 vs heapq 완벽 비교 이번 글에서는 LeetCode의 인기 문제 중 하나인“Top K Frequent Elements (가장 많이 등장한 K개의 숫자 구하기)” 문제를두 가지 방식으로 풀이하고 비교한다: dict + sorted()를 활용한 직관적 풀이heapq를 활용한 고급 최적화 풀이 각 방식의 코드, 이론, 시간복잡도, 상황별 장단점까지 모두 정리한다. 🧠 문제 설명 **정수 배열 nums와 정수 k**가 주어졌을 때,가장 자주 등장한 숫자 k개를 반환하라.반환 순서는 상관없다. 📥 입력 예시nums = [1,1,1,2,2,3]k = 2 📤 출력 예시[1, 2]→ 1은 3번, 2는 2번 등장했기 때문에 ..

Coding Test 2025.06.13

5. Group Anagrams

🧩 [Python 문제풀이] Group Anagrams - 딕셔너리 + 리스트 + append() 완벽 이해하기 이번 글에서는 LeetCode의 유명한 문제 중 하나인 “Group Anagrams” 를 파이썬으로 해결하면서,많은 사람들이 헷갈려 하는 개념인 dict + list + .append() 구조를 함께 정리해본다 📌 문제 설명 (LeetCode 49 - Group Anagrams) 문자열 배열 strs가 주어졌을 때, 아나그램(anagram)끼리 묶어서 그룹으로 반환하라. ✅ 예시Input: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]Output: [["eat","tea","ate"],["tan","nat"],["bat"]] "eat", "te..

Coding Test 2025.06.12

3. Valid Anagram

🔤 [Python] 아나그램(Anagram) 판별하기 – dict.get() vs collections.Counter 문제 (Problem):Given two strings s and t, return True if t is an anagram of s, and False otherwise. 조건: 문자열 길이: 1 문자열은 소문자 영문으로만 구성⚠️ Follow-up: If Unicode characters are allowed? 🧠 아나그램(Anagram)이란? 두 문자열이 같은 문자로 구성되어 있으며, 각 문자의 개수도 동일한 경우. 예:s = "anagram"t = "nagaram"→ Trues = "rat"t = "car"→ False ✅ 방법 1: collections.Counter 사..

Coding Test 2025.06.11

2. Best Time to Buy and Sell Stock

📈 [Python] Best Time to Buy and Sell Stock — 최대 이익 문제 풀이 (LeetCode Easy) Problem: You are given an array prices where prices[i] is the price of a given stock on the i-th day. You must choose a day to buy and a future day to sell to maximize your profit. 🧠 문제 설명 (Problem Description) 정수 배열 prices가 주어질 때, 한 번의 **매수(buy)**와 **매도(sell)**를 통해 낼 수 있는 **최대 이익(max profit)**을 구하라. 단, 매수는 **매도 이전(day i..

Coding Test 2025.06.11