Ⅰ. 문제문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다.제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 입출력 예stringsnreturn["sun", "bed", "car"]..
분류 전체보기
Ⅰ. 문제배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다.예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항array의 길이는 1 이상 100 이하입니다.array의 각 ..
Ⅰ. 정렬 (Sort)1. K번째 수 (42748, Lv1)i ~ j 구간 잘라서 정렬 후 k번째 수를 고르는 기본적인 정렬 연습용 문제부분 배열 자르기 + Arrays.sort() 패턴 연습용으로 좋음https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 문자열 내 마음대로 정렬하기 (12915, Lv1)문자열 배열을 n번째 문자 기준으로 정렬하는 문제Comparator / 람다로 정렬 기준 (custom key) 주는 연습에 좋음https://school.programmers.co.kr/learn..
이번 글의 키워드는 세 가지입니다.정렬 (Sorting)이진 탐색 (Binary Search)누적합 (Prefix Sum)이전 글들에서 구현, 완전 탐색, 자료구조를 익혔다면,이제는 시간복잡도를 줄이는 대표 패턴을 익힐 차례입니다.이 글에서는 자바를 기준으로 정렬, 이진 탐색, 누적합의 개념과 코드 패턴을 정리합니다. Ⅰ. 목표정렬, 이진 탐색, 누적합을 이용해 단순 완전 탐색보다 효율적인 풀이를 설계할 수 있는 상태 만들기구체적으로는 아래 네 가지를 목표로 합니다.Arrays.sort, Collections.sort와 Comparator 사용법 익히기정렬 후 처리 패턴(그리디와 함께 자주 등장)을 이해하기이진 탐색 템플릿을 외워서 바로 코딩할 수 있게 만들기누적합을 사용해 구간 합을 O(1)에 계산하..
오늘의 핵심 주제는 네 가지 자료구조입니다.스택 (Stack)큐 (Queue)덱 (Deque)우선순위 큐(Priority Queue, 힙 구조)저번 글까지는 배열, 문자열, 완전 탐색 위주로 직접 하나하나 돌려보는 연습을 했다면,이번 글부터는 자바 자료구조를 이용해서 문제를 더 깔끔하게 푸는 패턴을 익혀보려고 합니다.각 자료구조의 개념과 자바 코드 사용법, 코딩테스트에서 자주 나오는 활용 패턴까지 정리해보겠습니다. Ⅰ. 목표자바의 스텍, 큐, 덱, 우선순위 큐를 자유롭게 사용할 수 있고,어떤 문제에 어떤 자료구조를 써야 할지 감이 오는 상태 만들기 구체적인 목표는 다음과 같습니다.스택으로 괄호 검사, 되돌리기(Undo) 등 LIFO 패턴 구현큐로 순서대로 처리하는 FIFO 문제 구현덱으로 양쪽에서 넣고..
이번 글의 핵심 주제는 세 가지입니다.첫째, 배열둘째, 문자열셋째, 완전 탐색저번 글에서 입출력과 기본 구현 패턴을 익혔다면,이번 글에서는 데이터를 담고 꺼내고 돌려보는 연습을 해보겠습니다. Ⅰ. 목표배열과 문자열을 자유롭게 다루면서가능한 모든 경우를 직접 탐색하는 완전 탐색 패턴에 익숙해진다. 구체적으로는 다음 네 가지를 목표로 합니다.1차원 / 2차원 배열 선언, 초기화, 순회 패턴 익히기문자열에서 문자를 꺼내고, 부분 문자열을 다루는 패턴 연습이중, 삼중 반복문을 사용한 완전 탐색 감각 익히기완전 탐색의 시간 복잡도에 대한 감을 잡기 Ⅱ. 배열 기본 패턴 정리- 1차원 배열 선언과 초기화코딩테스트에서 가장 기본이 되는 자료구조가 1차원 배열입니다.int n = Integer.parseInt(br..
코딩테스트를 준비할 때 가장 먼저 잡아야 할 것은 두 가지입니다. 첫째, 코테용 빠른 입출력 세팅둘째, 구현과 시뮬레이션 문제를 푸는 기본 사고 방식 이번 글에서는 1주차 목표와 함께 Java 언어를 이용한 구현 접근 패턴을 정리합니다. Ⅰ. 목표Java 코딩테스트에서 기본이 되는 입출력 패턴과 구현·시뮬레이션 문제 흐름을 몸에 익힌다. 구체적으로는 다음 네 가지에 집중해보겠습니다.Scanner 대신 BufferedReader / BufferedWriter 사용에 익숙해지기공백으로 구분된 입력 파싱: StringTokenizer / split 패턴 익히기StringBuilder를 이용한 출력 최적화구현/시뮬레이션 문제를 단계적으로 쪼개서 코드로 옮기는 연습 Ⅱ. 빠른 입출력 세팅- 왜 Scanner ..
목표샘플 프로젝트의 작은 Vuex 모듈 하나를 Pinia로 실제로 옮겨보고,컴포넌트에서는 mapXXX 대신 store hook(useAuthStore 등)을 써보는 것이 목표입니다. Vue 2 기반 샘플 프로젝트, Vue 3 + compat build 적용,로그인용 auth Vuex 모듈, Router 3, Axios까지 구성된 상태라고 가정합니다. 준비 상태 점검현재 샘플의 상태 관리는 이런 느낌입니다.2025.12.01 - [Web/Vue] - Vue 3 마이그레이션 연습용 샘플 Vue 2 프로젝트 준비하기// src/store/index.jsimport Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({..
Ⅰ. 이 글의 목표이번 글의 목표는 저위험 컴포넌트부터 Vue 3 Composition API로 바꿔 보는 연습을 해보는 것입니다.이미 Vue 3 + Compat build까지 해둔 상태라고 가정하고, 이번 글에서는기존 Options API 컴포넌트 → Composition API Ⅲ. export default { ... } → Vue 3에서는 mixin보다 composable 함수를 권장합니다.같은 기능을 composable로 옮겨보면 아래와 같습니다.// src/composables/useDateFormat.js (변경 후)export function useDateFormat { const formatDate = (date) => { if (!date) return '' ..
1. Compat build 개념 정리전에 만든 샘플 프로젝트는 순수 Vue 2 + Router 3 + Vuex + Axios 구조입니다.이번 글의 목표는 이 코드를 거의 손대지 않고, Vue 3 럳타임에서 돌아가게 올려보는 것입니다.그때 사용하는 것이 Vue 3 Compat Build(@vue/compat)입니다.한 줄로 정리하자면, Compat build는 Vue 3 엔진 위에서 Vue 2 문법을 최대한 그대로 돌려주는 호환 모드입니다. 특징을 정리하자면, 프로젝트는 vue@3를 사용하지만, 템플릿/옵션 API/전역 API 등 Vue 2 스타일 코드 상당수를 그대로 허용하고,Vue 3에서 제거 및 변경된 API를 쓰면 콘솔에 경고창을 띄워서 수정이 필요한 부분을 알려주며,완전히 갈아엎기 전에 Vue ..