전체 글
-
[자료구조] 힙(Heap) 이란 뭘까?자료구조 2024. 5. 9. 00:18
힙(Heap) 이란? 힙은 데이터에서 최댓값과 최솟값을 빠르게 찾기 위해 고안된 Complete Binary Tree(완전 이진 트리) 이다 우선순위 큐를 위해 만들어진 자료구조 이기도 하다최댓값과 최솟값을 빠르게 찾아내도록 만들어진 자료구조반정렬 성태를 유지 -> 부무 노드의 키 값이 자식 노드의 키 값보다 항상 크거나 작다이진 탐색 트리와는 다르게 중복된 값이 허용 된다 종류최대 힙 (max heap)부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리key(부모 노드) >= key(자식 노드)최소 힙 (min heap)부모 노드의 키 값이 자식 노드의 키 값보다 작거나 같은 완전 이진 트리key(부모 노드) 💡 왜 사용할까?최솟값이나 최댓값을 찾기 위해 배열을 사용하면 반복문..
-
[프로그래머스] 기능개발 - Java알고리즘 문제 풀이 2024. 5. 8. 16:07
문제 - 기능개발https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 제한사항 입출력 예progressesspeedsreturn[90, 30, 55][1, 30, 5][2, 1][95, 90, 99, 99, 80, 99][1, 1, 1, 1, 1, 1][1, 3, 2] 접근 방법 - 문제를 보면 작업이 순서대로 진행되어야 한다 이런 것을 봤을때 자료구조 큐를 활용하면 될 것 같다 - 큐가 빌때까지 작업을 실행하고 전의 작업이랑 그다음 작..
-
[프로그래머스] 스킬트리 - Java알고리즘 문제 풀이 2024. 5. 8. 01:27
문제 - 스킬트리https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명 제한사항 입출력 예skillskill_treesreturn"CBD"["BACDE", "CBADF", "AECB", "BDA"]2 접근 방법 - 문제를 봤을때 게임 관련한 문제라서 흥미롭게 느껴졌다- 문제를 읽고 나서 Queue로 풀면 되겠다라고 생각을 했습니다 왜냐하면 스킬에 순서가 있어서 이다하지만 큐의 특성상 큐는 앞 뒤에 있는 것만 조회 및 삭제가 되기 때문에 구현이..
-
[묘공단] 코딩 테스트 합격자 되기 4주차 - 트리[묘공단] 코딩 테스트 합격자 되기 책 정리 2024. 5. 7. 16:56
이 글은 책 코딩테스트 합격자 되기 - 자바편 (골든래빗 - 김희성저)의 내용이 포함되어있습니다. 트리- 데이터를 저장하고 탐색하기에 유용한 구조를 갖고 있다- 나무 기둥에서 가지가 뻗어나가는 모습을 거꾸로 뒤접어 놓은 모양이다- 나무 밑둥 즉, root가 맨 위에 있다- 트리는 부모 - 자식 관계의 노드들로 이루어지며 계층적인 구조를 나타내는 자료구조 트리 구성루트 노드-> 노드 중 가장 위에 있는 노드를 루트 노드라고 한다 에지-> 노드와 노드 사이에는 이어주는 선이 있다 이것을 간선 또는 에지 라고 한다 노드-> 간선으로 연결된 노드들은 서로 부모 - 자식 관계가 있다고 표현한다간선으로 직접 연결된 노드중 상대적으로 위에 있는 노드를 부모노드, 아래에 있는 노드를 자식 노드라고 한다자식이 없는 노..
-
[묘공단] 코딩 테스트 합격자 되기 4주차[묘공단] 코딩 테스트 합격자 되기 책 정리 2024. 5. 6. 22:14
이 글은 책 코딩테스트 합격자 되기 - 자바편 (골든래빗 - 김희성저)의 내용이 포함되어있습니다. 해시- 해시는 해시 함수를 사용하여 변환한 값을 인덱스로 삼아 키와 값을 저장해서 빠른 데이터 탐색을 제공하는 자료구조 이다- 해시는 키를 이용해서 데이터 탐색에서 빠르다는 장점이 있다 특징 - 키 자체가 해시 함수에 의해 값이 있는 인덱스가 되므로 값을 찾기 위한 탐색 과정이 없다- 단방향으로만 검색할 수 있는 대신 빠르게 원하는 값을 검색 할 수 있다- O(1)으로 동작- 값을 적절하게 변환해야 인덱스로 사용 가능 해시 함수 우선 해시 함수를 구현할 때 고려할 사항 1. 해시 함수가 변환한 값은 인덱스로 활용해야 하므로 해시 테이블의 크기를 넘으면 안된다2. 해시 함수가 변환한 값의 충돌은 최대한 ..
-
[프로그래머스] 같은 숫자는 싫어 - Java알고리즘 문제 풀이 2024. 5. 6. 18:08
문제 - 같은 숫자는 싫어https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제설명 제한사항 입출력 예arranswer[1,1,3,3,0,1,1][1,3,0,1][4,4,4,3,3][4,3] 접근 방법 - 문제에서 배열 arr에 연속적으로 나타나는 숫잔느 하나만 남기고 전부 제거 하라고 있다- 이 말은 즉, 중복되는 숫자는 한개만 남긴다는 뜻이다 - 여기에서 자료구조를 생각 했을때 쉽게 생각하면 중복이니까 Set를 생각 할수 있는데 하지만 Set..
-
RestFul 하다?카테고리 없음 2024. 5. 4. 15:44
이 글은RestFul 하다 라는게 뭔지 설명하기 앞서서 Rest api가 뭔지 알아 보자REST APIRepresentational State Transfer의 약자소프트웨어 프로그램 아키텍처의 한 형식이다www 와 같은 분산 하이퍼미디어 시스템을 위한 스포트웨어 개발 아키텍처의 한 형식기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일 이다HTTP URI를 통해 자원을 명시하고 HTTP Method를 통해 해당 자원에 대한 CRUD OPERATION을 적용하는 것을 의미한다REST는 자원 기반의 구조 설계의 중심에 Resource가 있고 HTTP Method를 통해 Resource를 처리하도록 설계된 아키텍쳐를 의미한다HTTP Me..
-
[백준] 9372 상근이의 여행 - Java알고리즘 문제 풀이 2024. 5. 3. 12:13
문제 - 상근이의 여행https://www.acmicpc.net/problem/9372 입력첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고,각 테스트 케이스마다 다음과 같은 정보가 주어진다.첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 주어진다.이후 M개의 줄에 a와 b 쌍들이 입력된다. a와 b를 왕복하는 비행기가 있다는 것을 의미한다. (1 ≤ a, b ≤ n; a ≠ b) 주어지는 비행 스케줄은 항상 연결 그래프를 이룬다. 출력테스트 케이스마다 한 줄을 출력한다.상근이가 모든 국가를 여행하기 위해 타야 하는 비행기 종류의 최소 개수를 출력한다. 예제 입력23 31 22 31 35 42 12 34 34 5 예제 출력24..