Learn From Failure

고정 헤더 영역

글 제목

메뉴 레이어

Learn From Failure

메뉴 리스트

  • tag
  • 분류 전체보기 (112)
    • Algorithm (91)
    • NestJS (2)
    • Java (6)
    • Spring (8)
    • AWS (1)
    • DBMS (2)

검색 레이어

Learn From Failure

검색 영역

컨텐츠 검색

Algorithm

  • 2805. 나무 자르기

    2024.12.07 by aeongiii

  • 24444. 알고리즘 수업 - 너비 우선 탐색 1

    2024.12.07 by aeongiii

  • 24479. 알고리즘 수업 - 깊이 우선 탐색 1

    2024.12.07 by aeongiii

  • 3187. 양치기 꿍

    2024.12.06 by aeongiii

  • 2210. 숫자판 점프

    2024.12.06 by aeongiii

  • 9934. 완전 이진 트리

    2024.12.06 by aeongiii

  • 13116. 30번

    2024.12.06 by aeongiii

  • 9372. 상근이의 여행

    2024.12.05 by aeongiii

2805. 나무 자르기

1. 문제 분석     1) N개의 나무를 적당히 잘라 길이 M만큼 가져가려고 한다.     2) N개의 나무의 각 길이가 N줄에 주어진다.     3) 적어도 M만큼 가져가는 방법 중 최소한으로 나무를 자를 수 있는, 목재절단기 길이 H를 찾는다.     4) 최대의 H를 출력한다. 2. 제약 조건     1     1     0 3. 의사결정     1) 일단 N, M, 그리고 각 나무의 길이를 받아서 배열에 넣는다.     2) 최적의 값을 찾아야 하니까 이분탐색을 사용해보자.     3) 일단 H = 가장 큰 나무길이 & 가장 작은 나무길이의 딱 평균으로 잘라본다         - 너무 많이 잘랐다면 H를 줄인다.         - 너무 조금 잘랐다면 H를 더 늘린다.         계속 이분탐색..

Algorithm 2024. 12. 7. 16:32

24444. 알고리즘 수업 - 너비 우선 탐색 1

1. 문제 분석     1) N개의 정점, M개의 간선, 시작점 R이 주어진다.     2) U - V 간의 간선 정보가 주어진다.     3) 인접 정점이 있다면 오름차순으로 방문한다. (작은것부터)     4) 깊이 우선 탐색으로 노드를 방문할 경우의 방문순서 출력 2. 제약 조건     1     1     1 3. 의사결정     1) 정점 개수 N과 간선 개수 M, 시작점 R을 받는다.     2) u-v를 받으면서 인접 리스트로 저장한다. N+1크기로 만들어서 인덱스와 일치시킨다.         * [N]개크기의 리스트에 연결된 정보를 이중리스트로 저장한다.     3) 방문 정보 저장할 배열을 N+1크기로 만든다. 1번을 방문할 경우 인덱스1에 몇번째 순서로 방문했는지 넣는다.        ..

Algorithm 2024. 12. 7. 13:37

24479. 알고리즘 수업 - 깊이 우선 탐색 1

1. 문제 분석     1) N개의 정점, M개의 간선, 시작점 R이 주어진다.     2) U - V 간의 간선 정보가 주어진다.     3) 인접 정점이 있다면 오름차순으로 방문한다. (작은것부터)     4) 깊이 우선 탐색으로 노드를 방문할 경우의 방문순서 출력 2. 제약 조건     1     1     1 3. 의사결정     1) 정점 개수 N과 간선 개수 M, 시작점 R을 받는다.     2) u-v를 받으면서 인접 리스트로 저장한다. N+1크기로 만들어서 인덱스와 일치시킨다.         * [N]개크기의 리스트에 연결된 정보를 이중리스트로 저장한다.     3) 방문처리할 리스트를 N+1크기로 만든다. 1번을 방문할 경우 인덱스1에 true 넣는다.     3) R부터 시작한다.   ..

Algorithm 2024. 12. 7. 11:07

3187. 양치기 꿍

1. 문제 분석     1) 세로가 R, 가로가 C인 영역에 울타리(#), 양(K), 늑대(V), 빈공간(.)으로 구성되어 있다.     2) 울타리로 구분된 공간 안에서 늑대보다 양이 많을 경우 늑대가 전부 잡아먹힌다.        늑대가 양의 수와 같거나, 양이 더 적을 경우에는 양이 모두 잡아먹힌다.     3) 살아남게 되는 양과 늑대의 수를 각각 순서대로 출력한다. 2. 제약 조건     3 3. 의사결정     1) 울타리 배열, 양 배열, 늑대 배열을 모두 만들고,     2) 세로 R 가로 C인 문자열 이중배열 안에 영역 정보를 담으면서 + 울타리/양/늑대가 나오면 해당 좌표를 해당 배열에도 넣는다.     3) 양 또는 늑대 한마리가 위치한 지점에서 출발하여, 상/하/좌/우로 탐색하면서 ..

Algorithm 2024. 12. 6. 21:30

2210. 숫자판 점프

1. 문제 분석     1) 5x5 숫자판에서 임의의 위치에서 시작하여 상/하/좌/우로 총 5번 이동하면서 6자리 수를 만든다.     2) 서로 다른 여섯 자리 수의 개수를 구한다.      * 제자리에서 뛰는건 불가능      * 왔던 곳을 다시 거쳐도 된다. 2. 제약 조건     칸 숫자는 0부터 9까지 3. 의사결정     1) 5x5 숫자판을 이중리스트에 담는다.     2) 0,0에서 시작할때 ---> 마지막에서 시작할때까지 모두 시도한다. (int x, int y)     3) int x, int y가 배열을 넘어가지 않는 선에서 상하좌우 모두 돌린다.     4) 재귀 호출은 6번만 해야하니까 카운트 세야겠다. 4. 문제 해결     1) StringBuilder 새로 만들어주면서 재귀 ..

Algorithm 2024. 12. 6. 19:17

9934. 완전 이진 트리

1. 문제 분석     1) 깊이가 K인 완전이진트리가 있다.     2) 첫째 줄에 K(깊이)가 주어지고, 둘째 줄에 중위순회한 순서가 주어질 때,     3) 빌딩의 순서를 레벨 순회한 값을 출력한다. (레벨별로 개행처리) 2. 제약 조건    1 3. 의사결정     1) 첫째 줄에서 K를 입력받고, 두번째 줄에서 중위순회한 값을 입력받는다.     2) 중위순회한 값에서 가장 가운데 있는 값 = 루트노드 (깊이 1)         * 왼쪽부터 채우기 때문에 만약 짝수라면 가운데 요소 중 오른쪽 노드가 루트 노드     3) 루트노드를 기준으로 앞쪽은 왼쪽노드들, 뒷쪽은 오른쪽 노드들이다.     4) 각 노드들을 깊이를 기준으로 구분해서 list에 넣는다.     => 2~4를 반복한다(재귀)  ..

Algorithm 2024. 12. 6. 15:02

13116. 30번

1. 문제 분석     1) 1부터 1023까지 순서대로 들어간 완전 이진 트리에서,       1부터 a까지 가는 경로와 1부터 b까지 가는 경로에 공통으로 포함되는 자연수 중 최댓값을 M(a, b)라고 한다.     2) T개의 테스트케이스 안에서 a와 b가 공백으로 구분하여 주어질때,     3) M(a,b)의 값에 10을 곱한 값을 출력한다. 2. 제약 조건    1    1    A != B 3. 의사결정     1) 첫째줄에서 T를 받고, T만큼 for문 돌린다.     2) a와 b 입력받는다.     3) (함수 따로 만들어서) a와 b가 짝수라면 /2, 홀수라면 -1을 한 후 /2를 한 값을 구해서 set에 넣고 반복한다.     4) set 넣을 때 이미 같은 값이 존재한다면, 그게 정..

Algorithm 2024. 12. 6. 11:09

9372. 상근이의 여행

1. 문제 분석     1) 테스트케이스 T가 주어진다.     2) 하나의 테스트케이스 안에서, 첫째줄에 국가의 수 N과 비행기 종류 M이 주어진다.     3) M개의 줄에 왕복비행기 정보(a b)가 주어진다.     4) 모든 국가를 다 방문할 때, 비행기를 최소로 타는 횟수       * 방문했던 국가를 다시 방문해도 된다. 2. 제약 조건    T    2    1    1    b    a != b 3. 의사결정     1) 순환될 가능성이 있으므로 "연결그래프"를 사용한다. 노드 = N, 간선 = 왕복 비행기 정보.     2) 테스트케이스 T만큼 for 문을 돌린다.     3) N과 M을 받고, M만큼 for문을 돌려서 비행기 정보를 모두 입력받는다. (사용x)     4) 연결그래프기 ..

Algorithm 2024. 12. 5. 18:33

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 7 8 ··· 12
다음
TISTORY
Learn From Failure © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바