이 영역을 누르면 첫 페이지로 이동
hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

페이지 맨 위로 올라가기

hoonDEV

전체 글

  • hoonDEV
BOJ 7576 - 토마토 문제풀이

BOJ 7576 - 토마토 문제풀이

2020.04.05
문제를 읽고 이해하기 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 ..
알고리즘 공부 계획 4/5 ~ 4/10

알고리즘 공부 계획 4/5 ~ 4/10

2020.04.05
공부 계획 기초 알고리즘 학습 계획을 바탕으로, 코딩테스트 주류 문제들을 모두 풀어보는 것을 목표로 한다. 4월 5일 BOJ 7576, 7569, 11047, 11399 문제 풀고 분석하기 (완료) 4월 6일 BOJ 2565, 9251, 1541, 1436 문제 풀고 분석하기 (완료) 4월 7일 BOJ 1654, 1712, 2869, 7568, 2580 문제 풀고 분석하기 (완료) 4월 8일 BOJ 12865, 2292, 10250, 3053 문제 풀고 분석하기 (완료) 4월 9일 BOJ 2206, 14888, 2798, 2231, 1193 문제 풀고 분석하기 (완료) 4월 10일 BOJ 2775, 2751, 10989, 2108, 11650, 11651, 10814, 10816, 11066 (부분완료)
온라인 강의 플랫폼 UI/UX 디자인

온라인 강의 플랫폼 UI/UX 디자인

2020.04.05
외주문의 카카오톡 hun4sky
기초 알고리즘 학습 계획

기초 알고리즘 학습 계획

2020.04.04
정렬 브루트 포스 DP 동적 계획법 1 동적 계획법 2 DFS/BFS 크루스칼 그리디 백트래킹 분할 정복 이분 탐색 우선순위 큐최단 경로 수학 1 수학 2 스택 큐, 덱 트리 불러오는 중입니다...
BOJ 9663 - N-Queen 문제풀이

BOJ 9663 - N-Queen 문제풀이

2020.04.03
문제를 읽고 이해하기 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. (1 ≤ N < 15) 출력 첫째 줄에 퀸 N개를 서로 공격할 수 없게 놓는 경우의 수를 출력한다. 재정의와 추상화 체스에서 퀸(Queen)은 본인이 있는 위치에서 대각선과 같은 행, 열에 있는 체스를 공격할 수 있다. 따라서 문제에서 말한 대로, 퀸이 서로를 공격할 수 없게 놓으려면 체스판 위에 놓인 모든 퀸이 서로를 공격할 수 없는 위치에 있어야 한다. 입력받은 N에 대하여, 행과 열은 각각 0 ~ N - 1 사이의 범위를 가진다고 하자. 이때 0번째 행부터 N - 1번째 행..
BOJ 15650 - N과 M (2) 문제풀이

BOJ 15650 - N과 M (2) 문제풀이

2020.04.03
문제를 읽고 이해하기 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 고른 수열은 오름차순이어야 한다. 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 재정의와 추상화 > BOJ 15649 - N과 M (1) 문제풀이 N과 M (1) 문제에서 '고른 수열이 오름차순이여야 한다.'라는 조건 하나만 더 추가된 문제이다. 따라서 result 벡터에 원소를 추가하는 부분에..
BOJ 15649 - N과 M (1) 문제풀이

BOJ 15649 - N과 M (1) 문제풀이

2020.04.03
문제를 읽고 이해하기 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열 입력 첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8) 출력 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다. 재정의와 추상화 백트래킹의 기본 문제이다. 이와 같은 유형은 굉장히 많이 나오므로, 아래와 같이 DFS를 통해 조합을 구현하는 코드를 통해 백트래킹 알고리즘을 외울 정도로 익히도록 하자. 코드 작성 #include #include using name..
BOJ 11054 - 가장 긴 바이토닉 부분 수열

BOJ 11054 - 가장 긴 바이토닉 부분 수열

2020.04.03
문제를 읽고 이해하기 수열 S가 어떤 수 Sk를 기준으로 S1 ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 20, 30, 40}, {50, 40, 25, 10} 은 바이토닉 수열이지만, {1, 2, 3, 2, 1, 2, 3, 2, 1}과 {10, 20, 30, 40, 20, 30} 은 바이토닉 수열이 아니다. 수열 A가 주어졌을 때, 그 수열의 부분 수열 중 바이토닉 수열이면서 가장 긴 수열의 길이를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ..
[C++ STL] list 알아보기

[C++ STL] list 알아보기

2020.04.03
개요 특징 vector와 deque와 같은 Sequence Container의 한 종류이다. 이중 연결 리스트라고 잘 알려져 있는 자료구조를 구현해놓은 컨테이너이다. 다른 Sequence Contianer와 달리 멤버 함수로 sort()와 merge() 그리고 splice()가 있다. 이중 연결 리스트 자료구조의 특성상 노드 기반 컨테이너이므로 임의 접근이 불가능하다. (a[3], a.at(3)) 중간에 원소를 삽입(insert), 제거(erase)하는 작업은 O(1)의 시간 복잡도를 가진다. 값의 비교로 원소를 제거하는 remove()와 remove_if()를 제공한다. 자세히 알아보기 선수 항목 #include using namespace std; 선언 std::list 이름; (using names..
[C++ STL] upper_bound, lower_bound 알아보기

[C++ STL] upper_bound, lower_bound 알아보기

2020.04.03
lower_bound 개요 특징 이진 탐색(binary_search)의 근간이 된다. algorithm 헤더에 포함되어 있다. 설명 이진 탐색 기반의 탐색이므로, 배열 또는 리스트가 오름차순 정렬되어 있어야 한다. 찾으려고 하는 key 값이 없으면, key 값 이상인 값들 중, 가장 작은 값을 찾는다. 그리고 그 위치를 반환한다. (값 반환 X) 값을 얻기 위해서는 * 연산자를 사용한다. (예: *lower_bound(v.begin(), v.end());) 같은 수가 여러 개 존재하여도 상관 없다. 자세히 알아보기 선수 항목 #include using namespace std; 사용 일반적인 사용 : lower_bound(Iterator first, iterator last, 찾으려는 value); 또 ..
BOJ 1992 - 쿼드트리 문제풀이

BOJ 1992 - 쿼드트리 문제풀이

2020.04.03
문제를 읽고 이해하기 흑백 영상을 압축하여 표현하는 데이터 구조로 쿼드 트리(Quad Tree)라는 방법이 있다. 흰 점을 나타내는 0과 검은 점을 나타내는 1로만 이루어진 영상(2차원 배열)에서 같은 숫자의 점들이 한 곳에 많이 몰려있으면, 쿼드 트리에서는 이를 압축하여 간단히 표현할 수 있다. 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다 위 그림에서 왼쪽의 영상은 오른쪽의 배열과 같이 숫자로 주어지..
BOJ 6010 - Music Notes 문제풀이

BOJ 6010 - Music Notes 문제풀이

2020.04.02
문제를 읽고 이해하기 FJ is going to teach his cows how to play a song. The song consists of N (1
  • 최신
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  • 다음

정보

hoonDEV 블로그의 첫 페이지로 이동

hoonDEV

  • hoonDEV의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그

카테고리

  • 분류 전체보기 (91)
    • 일상 (13)
      • 후기 (1)
      • 계획 (11)
    • 공지사항 (1)
    • 알고리즘 (54)
      • 문제풀이 (53)
      • 이론 (1)
    • 공부 (19)
      • React (0)
      • Angular (5)
      • Java (3)
      • C, C++ (3)
      • JavaScript (6)
      • WEB (2)
    • 디자인 (1)
      • UI, UX (1)
    • 개발 (0)
      • boom (0)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • 문제풀이
  • javascript
  • 이분탐색
  • 알고리즘
  • 백준
  • dp
  • es6
  • 그리디

나의 외부 링크

정보

훈개발자의 hoonDEV

hoonDEV

훈개발자

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. © 훈개발자. Designed by Fraccino.

티스토리툴바