Kyungjin Kim Student Hello! My name is Jin. I study computer science in Seoul, Korea.

프로그래머스 87390: n^2 배열 자르기

2차원 배열을 1차원 배열로 만들어보자

프로그래머스 42888: 오픈채팅방 (2019 카카오 공채)

최종적으로 방을 개설한 사람이 보게 되는 메시지를 출력해보자

프로그래머스 위클리 챌린지 9주차: 전력망을 둘로 나누기

송전탑 개수가 가능한 비슷하도록 두 전력망으로 나눌 때, 두 전력망의 송전탑 개수의 차이를 구해보자

프로그래머스 위클리 챌린지 8주차: 최소 직사각형

명함을 수납할 수 있는 가장 작은 지갑의 크기를 구해보자

프로그래머스 76502: 괄호 회전하기

문자열을 회전시켰을 때 올바른 괄호 문자열이 되는 경우의 수를 구해보자

백준 10974: 모든 순열

모든 순열을 사전순으로 구해보자

백준 10973: 이전 순열

사전순으로 나열했을 때 이전에 오는 순열을 구해보자

백준 10819: 차이를 최대로

원소의 순서를 바꿔 다음 원소와의 절댓값 차이의 최댓값을 구해보자

백준 10972: 다음 순열

사전순으로 나열했을 때 다음에 오는 순열을 구해보자

웹 프로그래밍 Part 3: 웹 앱 개발 - 예약서비스 1/4 (4)

Spring JDBC

백준 N과 M 시리즈

순열과 조합 연습

Lowest Common Ancestor (1)

Lowest Common Ancestor

백준 11659: 구간 합 구하기 4

Prefix Sum을 사용해 구간 합을 구해보자

백준 11279: 최대 힙

최대 힙을 구현해보자

Randomized Algorithm (2)

Primality Test

LeetCode 160: Intersection of Two Linked Lists

두 연결 리스트가 교차하는 지점을 구해보자

LeetCode 155: Min Stack

스택 ADT를 구현해보자

LeetCode 283: Move Zeros

배열의 0들을 끝으로 옮겨보자

LeetCode 169: Majority Element

배열에서 과반수 이상 나타나는 원소를 구해보자

LeetCode 136: Single Number

배열 중에서 단 한 번만 등장하는 숫자를 구해보자

LeetCode 121: Best Time to Buy and Sell Stock

주식을 사고 팔 때의 최대 이익을 구해보자

LeetCode 108: Convert Sorted to Binary Search Tree

배열에서 과반수 이상 나타나는 원소를 구해보자

LeetCode 617: Merge Two Binary Trees

두 이진 트리를 합쳐보자

LeetCode 338: Counting Bits

이진수에서 1의 개수를 세어보자

LeetCode 226: Invert Binary Tree

이진 트리를 좌우로 뒤집어보자

LeetCode 206: Reverse Linked List

연결 리스트를 뒤집어보자

LeetCode 94: Binary Tree Inorder Traversal

이진 트리를 중위 탐색해보자

LeetCode 70: Climbing Stairs

한 번에 한 칸 또는 두 칸의 계단만을 오를 수 있을 때, 계단을 끝까지 오를 수 있는 방법의 수를 구해보자

LeetCode 104: Maximum Depth of Binary Tree

이진 트리의 높이를 구해보자

LeetCode 101: Symmetric Tree

이진 트리의 대칭 여부를 판단해보자

프로그래머스 위클리 챌린지 2주차: 상호평가

상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여해보자

프로그래머스 위클리 챌린지 1주차: 부족한 금액 계산하기

놀이기구를 N번 타면 갖고 있는 금액에서 얼마가 모자라는지 계산해보자

웹 프로그래밍 Part 3: 웹 앱 개발 - 예약서비스 1/4 (3)

Spring Core

백준 2873: 롤러코스터

가장 큰 기쁨을 주는 롤러코스터는 어떻게 움직여야 하는지 구해보자

웹 프로그래밍 Part 3: 웹 앱 개발 - 예약서비스 1/4 (2)

Web UI, Tab UI 실습

Randomized Algorithm (1)

Randomized Algorithm, Monte Carlo vs. Las Vegas

웹 프로그래밍 Part 3: 웹 앱 개발 - 예약서비스 1/4 (1)

DOM API 활용, Ajax, Web Animation

State Space

상태 공간, 퍼즐 문제, 외판원 문제

LeetCode 53: Maximum Subarray

부분 배열의 합의 최댓값을 구해보자

비전공자를 위한 HTML/CSS - Part 7

Properties: Layout

백준 2138: 전구와 스위치

원하는 상태를 만들기 위해 스위치를 몇 번 눌러야 하는지 구해보자

웹 프로그래밍 Part 2: DB 연결 웹 앱 (10)

REST API

웹 프로그래밍 Part 2: DB 연결 웹 앱 (9)

JDBC

LeetCode 21: Merge Two Sorted Lists

두 개의 정렬된 연결 리스트를 합쳐보자

LeetCode 20: Valid Parentheses

스택 괄호 문제

비전공자를 위한 HTML/CSS - Part 6

Properties: Typography & Text

웹 프로그래밍 Part 2: DB 연결 웹 앱 (8)

Maven을 이용한 웹 어플리케이션 실습

백준 1783: 병든 나이트

병든 나이트가 여행에서 방문할 수 있는 칸의 최대 개수를 구해보자

웹 프로그래밍 Part 2: DB 연결 웹 앱 (7)

Maven

웹 프로그래밍 Part 2: DB 연결 웹 앱 (6)

DBMS, MySQL, SQL

LeetCode 1: Two Sum

더해서 target이 되는 두 수의 배열 인덱스를 구해보자

백준 2875: 대회 or 인턴

만들 수 있는 최대의 팀 수를 구해보자

Backtracking & Pseudopolynomial (1)

N-Queen, 동전 교환, 막대기 자르기, 합 분해

웹 프로그래밍 Part 2: DB 연결 웹 앱 (5)

Expression Language & JSP Standard Tag Library

웹 프로그래밍 Part 2: DB 연결 웹 앱 (4)

Scope

백준 1147: 수 묶기

수열이 주어졌을 때, 수열의 각 수를 적절히 묶어 그 합이 최대가 되도록 해보자

웹 프로그래밍 Part 2: DB 연결 웹 앱 (3)

redirect & forward

웹 프로그래밍 Part 2: DB 연결 웹 앱 (2)

JSP

비전공자를 위한 HTML/CSS - Part 5

Properties: Unit, background, Boxmodel

백준 11047: 거스름돈 문제

거스름돈을 줄 때 필요한 동전 개수의 최소값을 구해보자

프로그래머스 위클리 챌린지 4주차: 직업군 추천하기

개발자가 사용하는 언어의 언어 선호도*직업군 언어 점수의 총합이 가장 높은 직업군을 구해보자

비전공자를 위한 HTML/CSS - Part 4

Understanding CSS

비전공자를 위한 HTML/CSS - Part 3

Content Model, Semantic Markup, Block & Inline

웹 프로그래밍 Part 2: DB 연결 웹 앱 (1)

JavaScript, WEB UI 개발

프로그래머스 12978: 배달

K 시간 이하로 배달이 가능한 마을의 개수를 구해보자

프로그래머스 77885: 2개 이하로 다른 비트

x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수를 구해보자

Graph Traversal (3)

Cut Vertex and Topological Sort

프로그래머스 67257: 수식 최대화 (2020 카카오 인턴십)

연산자의 우선순위를 변경해 수식의 최댓값을 구해보자

프로그래머스 60058: 괄호 변환 (2020 카카오 공채)

올바른 순서대로 배치된 괄호 문자열을 만들어보자

프로그래머스 17680: 캐시 (2018 카카오 공채 1차)

캐시 크기에 따른 실행시간을 구해보자

프로그래머스 64065: 튜플 (2019 카카오 개발자 겨울 인턴십)

집합이 주어질 때 튜플을 구해보자

프로그래머스 49993: 스킬트리

가능한 스킬트리 개수를 구해보자

프로그래머스 1829: 카카오프렌즈 컬러링북 (2017 카카오코드 예선)

그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이를 구해보자

프로그래머스 17679: 프렌즈4블록 (2018 카카오 공채 1차)

지워지는 블록의 개수를 구해보자

프로그래머스 17677: 뉴스 클러스터링 (2018 카카오 공채 1차)

두 문자열 사이의 자카드 유사도를 계산해보자

프로그래머스 12973: 짝지어 제거하기

문자열을 짝지어 제거할 수 있는지 판별해보자

프로그래머스 42577: 전화번호 목록

어떤 번호가 다른 번호의 접두어인지 확인해보자

프로그래머스 17687: n진수 게임 (2018 카카오 블라인드 채용 3차)

N진수 게임을 할 때 말할 숫자를 미리 구해보자

프로그래머스 17684: 압축 (2018 카카오 블라인드 채용 3차)

LZW 압축을 구현해보자

프로그래머스 68936: 쿼드압축 후 개수 세기

쿼드 압축 후의 0과 1의 개수를 구해보자

백준 5568: 카드 놓기

n장의 카드에 적힌 숫자가 주어졌을 때 그 중 k개를 선택해 만들 수 있는 정수의 개수를 구해보자

백준 2947: 나무 조각

나무 조각의 위치를 바꿀 때 마다 조각의 순서를 출력해보자

백준 1021: 회전하는 큐

양방향 순환 큐에서 원소를 뽑아보자

프로그래머스 77485: 행렬 테두리 회전하기

직사각형의 테두리를 회전시켜보자

프로그래머스 49994: 방문 길이

게임 캐릭터가 처음 걸어본 길의 길이를 구해보자

프로그래머스 1844: 게임 맵 최단거리

상대 팀 진영에 도착하기 위해서 지나가야 하는 칸의 최소 개수를 구해보자

프로그래머스 12985: 예상 대진표

두 참가자가 몇 번째 라운드에서 만나는지 구해보자

프로그래머스 68645: 삼각 달팽이

삼각형에서 달팽이 채우기를 진행해보자

프로그래머스 42885: 구명보트

모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 구해보자

프로그래머스 42586: 기능개발

각 배포마다 몇 개의 기능이 배포되는지 구해보자

프로그래머스 42578: 위장

서로 다른 옷의 조합의 수를 구해보자

프로그래머스 12980: 점프와 순간 이동

아이언 슈트를 착용하고 이동할 때 사용해야 하는 건전지 사용량의 최솟값

프로그래머스 62048: 멀쩡한 사각형

사용할 수 있는 정사각형의 개수를 구해보자

프로그래머스 60057: 문자열 압축

압축해 표현한 문자열 중 가장 짧은 것의 길이를 구해보자

프로그래머스 42839: 소수 찾기

종이 조각으로 만들 수 있는 소수의 개수를 구해보자

프로그래머스 12981: 영어 끝말잇기

끝말잇기에서 가장 먼저 탈락하는 사람을 찾아보자

프로그래머스 12953: N개의 최소공배수

N개의 수의 최소공배수를 구해보자

프로그래머스 12951: JadenCase 문자열 만들기

주어진 문자열을 JadenCase로 바꿔보자

프로그래머스 12939: 최댓값과 최솟값

문자열에 나타나는 숫자 중 최댓값과 최솟값을 찾아보자

프로그래머스 12899: 124 나라의 숫자

124 나라에서 사용하는 숫자로 바꿔보자

Graph Traversal (2)

DFS - Back edge, bipartite graph, cut vertex

백준 10282: 서강그라운드

얻을 수 있는 아이템의 최대 개수를 구해보자

프로그래머스 레벨 1

프로그래머스 레벨 1 문제 도장깨기

백준 10282: 해킹

해킹당한 컴퓨터의 수와 해킹하는데 걸린 시간을 구해보자

웹 프로그래밍 Part 1: 웹 프로그래밍 기초

Servlet

Graph Traversal (1)

Traversal and Event Queue

백준 4485: 녹색 옷 입은 애가 젤다지?

링크가 잃을 수밖에 없는 최소 금액을 구해보자

백준 2665: 미로 만들기

흰 방으로 바꾸어야 할 최소의 검은 방의 수를 구해보자

Dynamic Programming (4)

Examples

프로그래머스 42840: 모의고사

세 명의 수포자 중 가장 많은 문제를 맞힌 사람을 구해보자

알고리즘연습 5주

Dynamic Programming

Dynamic Programming (3)

Approximate string matching

알고리즘연습 4주

Divide & Conquer

백준 1010: 다리 놓기

다리를 겹치지 않게 지을 수 있는 경우의 수를 구해보자

Dynamic Programming (2)

Floyd-Warshall algorithm

백준 4256: 트리

이진 탐색 트리를 전위, 중위 순회한 결과가 주어졌을 때, 후위 순회했을 때의 결과를 출력해보자

백준 1493: 박스 채우기

박스를 채우는데 필요한 큐브의 최소 개수를 구해보자

알고리즘연습 3주

Greedy

Dynamic Programming (1)

알고리즘연습 2주

Prefix Sum

백준 1629: 곱셈

Divide and Conquer 방식으로 거듭제곱을 구해보자

백준 10830: 행렬 제곱

Divide and Conquer 방식으로 행렬의 거듭제곱을 구해보자

GCT634: Musical Applications of Machine Learning (3)

Machine Learning for Music: Intro

백준 1992: 쿼드트리

쿼드 트리 구조를 이용해 영상을 압축한 결과를 출력해보자

GCT634: Musical Applications of Machine Learning (2)

Audio Data Representations

GCT634: Musical Applications of Machine Learning (1)

Course Introduction

Divide & Conquer (3)

Matrix Multiplication

Convex Hull

백준 11501: 주식

주식으로 얻을 수 있는 최대 이익을 구해보자

2021-02-10 TIL

Closest Pair: Plane Sweeping

2021-02-09 TIL

Divide & Conquer (2)

Cloeset Pair

백준 1080: 행렬

행렬 A를 행렬 B로 바꾸는데 필요한 연산의 횟수의 최솟값을 구해보자

백준 1931: 회의실 배정

최대 사용할 수 있는 회의의 최대 개수를 구해보자

백준 15903: 카드 합체 놀이

두 카드를 합체해 가장 작은 점수를 만들어보자

백준 13305: 주유소

왼쪽 도시에서 오른쪽 도시로 이동하는 최소비용을 구해보자

백준 2217: 로프

로프들을 이용해 들어올릴 수 있는 물체의 최대 중량을 구해보자

백준 1439: 뒤집기

문자열을 뒤집어 모든 숫자를 전부 같게 만들어보자

Divide & Conquer

Quick sort

백준 4796: 캠핑

V일짜리 휴가에서 연속한 P일 중 L일만 쉴 수 있을 때, 최대 며칠 쉴 수 있는지 구해보자

Greedy (4)

Tape Storage

Greedy (3)

Deadline Scheduling

백준 1504: 특정한 최단 경로

주어진 두 정점을 반드시 지나는 최단 경로를 구해보자

2021-01-21 TIL

백준 1261: 알고스팟

목적지까지 이동하기 위해 최소 몇 개의 벽을 부숴야 하는지 구해보자

백준 1916: 최소비용 구하기

weight가 균일하지 않은 directed graph에서 최소비용을 구해보자

백준 1753: 최단경로

weight가 균일하지 않은 directed graph에서 최단경로를 찾아보자

백준 18352: 특정 거리의 도시 찾기

최단 거리가 K인 도시들을 다 찾아보자

백준 14807: 그대, 그머가 되어

야민정음을 이용해 문자를 바꾸는 최소 치황 횟수를 구해보자

Dijkstra, Prim 알고리즘 구현

다익스트라와 프림 알고리즘을 실제로 구현해보자

Greedy (2)

Finding shortest path - Dijkstra algorithm

프로그래머스: 시저 암호

시저 암호문을 만들어보자

프로그래머스: 타겟 넘버

주어진 숫자를 적절히 더하고 빼서 타겟 넘버를 만드는 방법의 수를 구해보자

프로그래머스: 카펫

전체 카펫의 크기를 구해보자

프로그래머스: 가장 큰 정사각형 찾기

1로 이루어진 가장 큰 정사각형의 넓이를 구해보자

프로그래머스: 이진 변환 반복하기

이진 변환 횟수를 계산해보자

프로그래머스: 땅따먹기

같은 행을 연속해 밟지 않으면서 땅을 따먹어 최대 점수를 내보자

프로그래머스: 다음 큰 숫자

이진수 중 나보다 크고 1의 갯수가 같은 자연수 중 가장 작은 수를 구해보자

프로그래머스: 행렬의 곱셈

행렬의 곱셈을 직접 구현해보자

프로그래머스: 최솟값 만들기

두 배열의 원소를 곱해 더한 값의 최솟값을 구해보자

프로그래머스: 숫자의 표현

어떤 수를 연속된 자연수들의 합으로 표현하는 방법의 수를 구하라.

백준 9655: 돌 게임

턴을 번갈아가며 돌을 1개 또는 3개 가져가는 게임에서의 승자를 구해보자

백준 1094: 막대기

막대를 잘라붙여 원하는 길이의 막대를 만들자

백준 10610: 30

수를 섞어 30의 배수가 되는 가장 큰 수를 만들자

백준 1037: 약수

진짜 약수를 구해보자

Greedy (1)

Greedy definition, Kruskal and Prim

Mathematical Induction

Mathematical Induction

DS Review

A quick data structure review for algorithm

Information Scent: How Users Decide Where to Go Next (Neilsen Norman Group)

웹상에서 클릭할 링크를 결정할 때 유저들은 정보 향기(information scent)가 가장 높은 링크를 클릭하는데, 이는 링크 라벨, 링크가 보이는 맥락, 그리고 과거의 경험으로부터 얻어낸 단서들의 혼합체이다.

2020-04-10 TIL

Thread, Flood fill

2020-04-09 TIL

Streams, Bipartite Graph

2020-04-05 TIL

Graph, DFS, Kruskal

Women of DevC Seoul 2020

We're just ordinary IT people: #2 나의 힘으로, 다른 나라

2020-03-14 TIL

Tensorflow, Docker, Colab

Longest Increasing Subsequence

LIS is a famous algorithm problem that can be solved by dynamic programming. It is to find the longest subsequence of a given sequence where the subsequence's elements are sorted from lowest to highest.

Resolve TZInfo::DataSourceNotFound Error

Jekyll 3.7.3 | Error: No source of timezone data could be found

Welcome to Jekyll!

You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.

To add new posts, simply add a file in the _posts directory that follows the convention YYYY-MM-DD-name-of-post.ext and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.

Syntax Highlighting Post

Demo post displaying the various ways of highlighting code in Markdown.

Sample Link Post

Try click on the link icon.

Post with Large Feature Image and Text

Custom written post descriptions are the way to go... if you're not lazy.

Post with Large Feature Image and Text feature image Photo Credit: Greg Rakozy

Testing "Readability" with a Bunch of Text

A ton of text to test readability.

Sample Post

Just about everything you'll need to style in the theme: headings, paragraphs, blockquotes, tables, code blocks, and more.

Sample Post feature image Photo Credit: thomas shellberg