공부노트 [BOJ] 9376 - 탈옥 상근이는 감옥에서 죄수 두 명을 탈옥시켜야 한다. 평면도에는 모든 벽과 문이 나타나있고, 탈옥시켜야 하는 죄수의 위치도 나타나 있다. 감옥은 무인 감옥으로 죄수 두 명이 감옥에 있는 유일한 사람이다. 상근이는 특별한 기술을 이용해 제어실을 통하지 않고 문을 열려고 한다. 하지만, 문을 열려면 시간이 매우 많이 걸린다. 두 죄수를 탈옥시키기 위해서 열어야 하는 문의 개수를 구하는 프로그램을 작... 그래프이론코딩공부boj공부노트알고리즘다익스트라boj [React] ES6 문법 정리 위의 코드는 우리가 흔히 보던 자바스크립트의 문자열 사용 방법들이다. 특히 후자같은 경우엔 C++에서도 주로 저런 짓을 많이했다. 아마 파이썬에서 format 함수를 써 본 사람들은 비슷한 면을 발견할 수 있을 것이다. 하지만 ES6에서는 그렇게까지 할 필요는 없고 다음과 같이 하면 된다. 즉 전개연산자를 사용하면 데이터 전체를 다 집어넣을 수 있다. 물론 지금이라고 그렇게 하면 안되는 것은... 개발React코딩공부공부노트JavaScriptJavaScript EDA, Preprocessing 기본 개념 (+ 유용한 pandas 함수) EDA, Pre-processing, feature Engineering 등은 그 범주가 명확히 나뉘어져 있는 것은 아니다. 단, 공통적으로 본격적인 모델링을 하기 전에 한다. 대게 우리가 분석할 데이터가 미리 아주 잘 설계되어 수집되지 않은 이상 원본 데이터를 바로 분석에 활용하기는 어렵다. 테이블에 들어가 있는 숫자들만 보고 바로 인사이트를 딱 뽑아내기 매우 어렵다. EDA의 방법은 변수... 공부노트pythonpython [BOJ] 2839 - 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로... 다이나믹프로그래밍공부노트코딩공부bojDPDP [Programmers] 키패드 누르기 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 ... 자료구조공부노트알고리즘programmers코딩구현programmers [Programmers] 크레인 인형뽑기 게임 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인... 자료구조공부노트알고리즘programmers코딩programmers [BOJ] 14754 Pizza Boxes The boxes are stacked in piles, forming a three- dimensional grid where the heights are all different. What is the maximum number of pizza boxes we can remove without changing the front and side views? In Figure I.1(a) a... 공부노트greedy대학생코딩공부bojboj [BOJ] 5545 - 최고의 피자 상근이는 근처 피자 가게에서 매일 저녁으로 피자를 배달해 먹는다. 주머니 사정이 얇아진 상근이는 이번 달부터는 "최고의 피자"를 구매하려고 한다. 최고의 피자란, 피자 가게에서 주문할 수 있는 피자 중 1원당 열량이 가장 높은 피자를 말한다. 최고의 피자는 여러 종류가 있을 수도 있다. 이 피자 가게는 토핑 N개에서 여러 종류를 선택해서 주문할 수 있다. 또, 토핑을 전혀 선택하지 않을 수도... 공부노트greedy대학생boj코딩boj [BOJ] 9461 - 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, ... 다이나믹프로그래밍공부노트DPboj알고리즘DP [BOJ] 14888 - 연산자 끼워넣기 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 ... 백트래킹공부노트DFS코딩공부알고리즘bojDFS [BOJ] 2470 - 두 용액 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연구소에서는 같은 양의 두 용액을 혼... 알고리즘코딩공부투포인터boj공부노트boj
[BOJ] 9376 - 탈옥 상근이는 감옥에서 죄수 두 명을 탈옥시켜야 한다. 평면도에는 모든 벽과 문이 나타나있고, 탈옥시켜야 하는 죄수의 위치도 나타나 있다. 감옥은 무인 감옥으로 죄수 두 명이 감옥에 있는 유일한 사람이다. 상근이는 특별한 기술을 이용해 제어실을 통하지 않고 문을 열려고 한다. 하지만, 문을 열려면 시간이 매우 많이 걸린다. 두 죄수를 탈옥시키기 위해서 열어야 하는 문의 개수를 구하는 프로그램을 작... 그래프이론코딩공부boj공부노트알고리즘다익스트라boj [React] ES6 문법 정리 위의 코드는 우리가 흔히 보던 자바스크립트의 문자열 사용 방법들이다. 특히 후자같은 경우엔 C++에서도 주로 저런 짓을 많이했다. 아마 파이썬에서 format 함수를 써 본 사람들은 비슷한 면을 발견할 수 있을 것이다. 하지만 ES6에서는 그렇게까지 할 필요는 없고 다음과 같이 하면 된다. 즉 전개연산자를 사용하면 데이터 전체를 다 집어넣을 수 있다. 물론 지금이라고 그렇게 하면 안되는 것은... 개발React코딩공부공부노트JavaScriptJavaScript EDA, Preprocessing 기본 개념 (+ 유용한 pandas 함수) EDA, Pre-processing, feature Engineering 등은 그 범주가 명확히 나뉘어져 있는 것은 아니다. 단, 공통적으로 본격적인 모델링을 하기 전에 한다. 대게 우리가 분석할 데이터가 미리 아주 잘 설계되어 수집되지 않은 이상 원본 데이터를 바로 분석에 활용하기는 어렵다. 테이블에 들어가 있는 숫자들만 보고 바로 인사이트를 딱 뽑아내기 매우 어렵다. EDA의 방법은 변수... 공부노트pythonpython [BOJ] 2839 - 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로... 다이나믹프로그래밍공부노트코딩공부bojDPDP [Programmers] 키패드 누르기 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 가운데 열의 4개의 ... 자료구조공부노트알고리즘programmers코딩구현programmers [Programmers] 크레인 인형뽑기 게임 게임 화면은 "1 x 1" 크기의 칸들로 이루어진 "N x N" 크기의 정사각 격자이며 위쪽에는 크레인이 있고 오른쪽에는 바구니가 있습니다. 각 격자 칸에는 다양한 인형이 들어 있으며 인형이 없는 칸은 빈칸입니다. 모든 인형은 "1 x 1" 크기의 격자 한 칸을 차지하며 격자의 가장 아래 칸부터 차곡차곡 쌓여 있습니다. 게임 사용자는 크레인을 좌우로 움직여서 멈춘 위치에서 가장 위에 있는 인... 자료구조공부노트알고리즘programmers코딩programmers [BOJ] 14754 Pizza Boxes The boxes are stacked in piles, forming a three- dimensional grid where the heights are all different. What is the maximum number of pizza boxes we can remove without changing the front and side views? In Figure I.1(a) a... 공부노트greedy대학생코딩공부bojboj [BOJ] 5545 - 최고의 피자 상근이는 근처 피자 가게에서 매일 저녁으로 피자를 배달해 먹는다. 주머니 사정이 얇아진 상근이는 이번 달부터는 "최고의 피자"를 구매하려고 한다. 최고의 피자란, 피자 가게에서 주문할 수 있는 피자 중 1원당 열량이 가장 높은 피자를 말한다. 최고의 피자는 여러 종류가 있을 수도 있다. 이 피자 가게는 토핑 N개에서 여러 종류를 선택해서 주문할 수 있다. 또, 토핑을 전혀 선택하지 않을 수도... 공부노트greedy대학생boj코딩boj [BOJ] 9461 - 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 길이를 k라 했을 때, 그 변에 길이가 k인 정삼각형을 추가한다. 파도반 수열 P(N)은 나선에 있는 정삼각형의 변의 길이이다. P(1)부터 P(10)까지 첫 10개 숫자는 1, 1, 1, 2, 2, 3, ... 다이나믹프로그래밍공부노트DPboj알고리즘DP [BOJ] 14888 - 연산자 끼워넣기 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 ... 백트래킹공부노트DFS코딩공부알고리즘bojDFS [BOJ] 2470 - 두 용액 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연구소에서는 같은 양의 두 용액을 혼... 알고리즘코딩공부투포인터boj공부노트boj