전체 글

전체 글

    [자료구조] B-Tree

    [자료구조] B-Tree

    목차 B-트리 내장 색인: 메모리에 올려서 사용 (이진 검색 트리) 외장 색인: 메인 메모리 외부에 놓고 사용하는 색인 (B-트리) 색인의 규모가 클 경우 or 메인 메모리가 충분하지 않을 때 디스크에 두고 사용 디스크 접근 시간으로 인한 비효율을 최대한 줄여야 함 B-트리: 디스크 환경에서 사용하기 적합한 외장 다진 검색 트리 최대 M개의 자식을 가질 수 있는 B트리=M차 B트리 $$key_i−1

    [HTML/CSS] 표 table 셀 합치기(병합), 경계선 넣기

    [HTML/CSS] 표 table 셀 합치기(병합), 경계선 넣기

    이렇게 생긴 표를 만들어보려고 한다 먼저 전체 코드~ 날짜 항목 금액 0801 햄버거 10000 카페 5000 0802 다이소 3000 총합 18000 1. table 기본 table은 태그를 이용한다. : 머리글의 집합, : 표의 본문, 바닥글의 집합을 의미한다. 내용을 담을 때 필요한 은 행을 는 머리글을, 는 데이터 값을 의미한다. 2. 셀 합치기 셀 합치기는 rowspan과 colspan을 사용하면 된다. rowspan은 row를 차지하는 위치, 즉 열을 몇 칸 합칠지를 의미한다. rowspan이 2라면 세로로 두 줄을 차지하는 칸을 의미한다. 반대로 colspan은 col을 차지하는 위치, 즉 몇 행을 합칠지를 의미한다. colspan이 2라면 가로로 두 줄을 차지하는 칸을 의미한다. 사진에서 ..

    [백준] 1436 - 영화감독 숌 (자바/Java)

    문제 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워즈를 만들 때, 스타워즈 1, 스타워즈 2, 스타워즈 3, 스타워즈 4, 스타워즈 5, 스타워즈 6과 같이 이름을 지었고, 피터 잭슨은 반지의 제왕을 만들 때, 반지의 제왕 1, 반지의 제왕 2, 반지의 제왕 3과 같이 영화 제목을 지었다. 하지만 숌은 자신이 조지 루카스와 피터 잭슨을 뛰어넘는다는 것을 보여주기 위해서 영화 제목을 좀 다르게 만들기로 했다. 종말의 숫자란 어떤 수에 6이 적어도 3개이상 연속으로 들어가는 수를 말한다. 제일 작은 종말의 숫자는 666이고, 그 다음으로 큰 수는 1666, 2..

    [백준] 1018 - 체스판 다시 칠하기 (자바 / Java)

    문제 지민이는 자신의 저택에서 MN개의 단위 정사각형으로 나누어져 있는 M×N 크기의 보드를 찾았다. 어떤 정사각형은 검은색으로 칠해져 있고, 나머지는 흰색으로 칠해져 있다. 지민이는 이 보드를 잘라서 8×8 크기의 체스판으로 만들려고 한다. 체스판은 검은색과 흰색이 번갈아서 칠해져 있어야 한다. 구체적으로, 각 칸이 검은색과 흰색 중 하나로 색칠되어 있고, 변을 공유하는 두 개의 사각형은 다른 색으로 칠해져 있어야 한다. 따라서 이 정의를 따르면 체스판을 색칠하는 경우는 두 가지뿐이다. 하나는 맨 왼쪽 위 칸이 흰색인 경우, 하나는 검은색인 경우이다. 보드가 체스판처럼 칠해져 있다는 보장이 없어서, 지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다. 당연히 8..

    [백준] 7568 - 덩치 (자바/Java)

    문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x, y), (p, q)라고 할 때 x > p 그리고 y > q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56, 177), (45, 165) 라고 한다면 A의 덩치가 B보다 큰 셈이 된다. 그런데 서로 다른 덩치끼리 크기를 정할 수 없는 경우도 있다. 예를 들어 두 사람 C와 D의 덩치가 각각 (45, 181), (55, 173)이라면 몸무게는 D가 C보다 더 무겁고, 키는 C가 더 크므로, "덩치"로만 볼..

    [자료구조] 힙 Heap

    [자료구조] 힙 Heap

    목차 Heap 힙 우선순위 큐 우선순위를 가진 원소를 삽입할 수 있고, 우선순위가 가장 큰 원소를 빼내줄 수 있는 자료구조 힙 대표적인 우선순위 큐, 완전 이진 트리(Complete Binary Tree) 구조 사용 포화 이진 트리(Full Binary Tree): 루트부터 시작해 모든 노드가 정확히 자식 노드를 2개씩 가지면서 꽉 채워진 트리, 노드의 총 수는 2k-1개 완전 이진 트리(Complete Binary Tree) 힙의 조건 완전 이진 트리 힙 특성: 모든 노드는 값을 갖고, 자식 노드(들) 값보다 크거나 같다. (최대 힙) 힙 배열 루트 노드부터 순서대로 배열에 담아 관리 삽입 A[8]에 원소 8 삽입 배열의 맨 끝에 8을 삽입 8을 자신의 부모 3과 비교 → 8이 더 크므로 자리 교환 다..

    [SWEA] 1220 - Magnetic (자바/Java)

    https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14hwZqABsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 이차원 배열의 같은 열에서, 1이 위에서, 2가 아래에서 만나는 경우의 수를 세면 된다. 이때 1이나 2가 중복되어도 교착 상태는 하나로 판단한다. 이를 체크하기 위해 같은 열에서 작은 값(위에 위치한 값)이 1인 경우 prev에 1을 저장하고, prev가 1이면서 2를 만날 때 교착 상태이므로 cnt를 하나씩 더해준다. 그리고 prev를 초기화해야 한다. 또한 한 열의 검사가 다 끝나면 prev를..

    [SWEA] 12712 - 파리퇴치 3 (자바/Java)

    [SWEA] 12712 - 파리퇴치 3 (자바/Java)

    https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AXuARWAqDkQDFARa 이차원 배열의 사방탐색과 팔방탐색 유형이다. 먼저 +형태를 훑고, 그 다음 x형태를 훑으며 가장 큰 sum의 값을 업데이트 해주었다. +형태의 dr, dc 배열과 x형태의 dr, dc배열을 각각 정의하여 루프를 돌아서 sum을 구하였다. package SWEA0729; import java.util.Scanner; public class SWEA_12712_파리퇴치3 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int T = s..

    [백준] 11729 - 하노이 탑 이동순서 (자바/Java): 하노이 타워(Towers of Hanoi)

    [백준] 11729 - 하노이 탑 이동순서 (자바/Java): 하노이 타워(Towers of Hanoi)

    문제 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 옮기려 한다. 한 번에 한 개의 원판만을 다른 탑으로 옮길 수 있다. 쌓아 놓은 원판은 항상 위의 것이 아래의 것보다 작아야 한다. 이 작업을 수행하는데 필요한 이동 순서를 출력하는 프로그램을 작성하라. 단, 이동 횟수는 최소가 되어야 한다. 아래 그림은 원판이 5개인 경우의 예시이다. 입력 첫째 줄에 첫 번째 장대에 쌓인 원판의 개수 N (1 ≤ N ≤ 20)이 주어진다. 출력 첫째 줄에 옮긴 횟수 K를 출력한다. 두 번째 줄부터 수행 과정을 출력한다. 두 번째 줄부터 K개의 줄에 걸쳐 두 정수 A B를 빈..

    [백준] 2447 - 별 찍기 10 (자바/Java): 재귀

    [백준] 2447 - 별 찍기 10 (자바/Java): 재귀

    문제 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 하나씩 있는 패턴이다. *** * * *** N이 3보다 클 경우, 크기 N의 패턴은 공백으로 채워진 가운데의 (N/3)×(N/3) 정사각형을 크기 N/3의 패턴으로 둘러싼 형태이다. 예를 들어 크기 27의 패턴은 예제 출력 1과 같다. 입력 첫째 줄에 N이 주어진다. N은 3의 거듭제곱이다. 즉 어떤 정수 k에 대해 N=3k이며, 이때 1 ≤ k < 8이다. 출력 첫째 줄부터 N번째 줄까지 별을 출력한다. 설명 참고: https://velog.io/@sossont/%EB%B0%B1%EC..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]