[Java, 자바] 프로그래머스 귤 고르기
알고리즘/프로그래머스2024. 3. 6. 19:05[Java, 자바] 프로그래머스 귤 고르기

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/138476 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 우선순위 큐와 Map을 통해서 해결하였습니다 :) Map을 통해 형식으로 데이터를 넣어줍니다. (다른 문제에서 언급했던 getOrDefault 메서드 사용하기 ! ⭐️잊지마세요) 종류의 수만 구하면 되는 문제이기 때문에 내림차순으로 생성해 놓았던 우선순위 큐에 Map에 누적해 놓은 누적 개수를 모두 저장해줍니다 ! 마지막으로 반복문은 k가 0보다 클 때만 실행되고 반복문 안에서 Q에 들어있는 값을 확인한 뒤 k보다 큰 수일 경우 answer을 증가하여 반복문을 탈출해주고 Q의 값이 k보다 작을 경우 ..

[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)
알고리즘/프로그래머스2024. 3. 6. 14:06[Java, 자바] 프로그래머스 게임 맵 최단거리(BFS)

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/1844 # 난이도 : LV.2 문제내용 제한사항 입출력 예 풀이방법 좌표를 저장할 Point 클래스를 생성한 뒤 BFS메서드와 Queue를 통해 문제를 해결하였습니다 ! 상하좌우 탐색이 이루어져야 하기 때문에 dx, dy 변수를 생성하여 현재의 위치에서 상하좌우 탐색을 진행하였습니다. 중요한 포인트는 기존에 탐색이 이루어진 부분은 1로 초기화를 해줘야 된다는 점 ! (무한루프가 돌 수 있습니당) 탐색은 최단거리로 진행되어야 하며, 도착지점에 값이 제일 빨리 도착하는 수로 초기화되고 최단거리가 아닌 경우의 수가 도착지점에 도착할 경우 탐색이 이루어진 부분은 1로 초기화를 하였기 때문에..

[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘
알고리즘/알고리즘 정리2024. 3. 6. 01:10[Algorithm] 깊이 우선 탐색(DFS, 그래프 탐색) 알고리즘

알고리즘에 대한 이해 ! 알고리즘 문제 풀이에서 DFS, BFS를 많이 사용했었는데 이제야 알고리즘 정리를 하게됬네요 ! 깊이 우선 탐색(DFS)란 DFS(Depth-First Search)는 그래프의 시작 노드에서 자식의 노드들을 순서대로 탐색하면서 깊이를 우선으로 탐색하는 알고리즘 입니다 ! DFS는 주로 반복문을 활용하거나 재귀문을 통하여 구현합니다. DFS의 탐색 과정 DFS의 기본 탐색 과정은 특정 정점에서 시작하여 역추적(backtracking) 하기 전에 각 분기를 따라 가능한 한 멀리 탐색하는 것입니다. 탐색하는 과정은 다음과 같습니다 ! 현재 노드를 방문한 것으로 표시한다. 방문한 표시가 되어 있지 않은 각각의 인접한 정점을 탐색한다. 더 이상 방문하지 않은 정점이 없으면 이전 정점으로 ..

[Java, 자바] 백준 14425번, 문자열 집합
알고리즘/백준2024. 3. 4. 13:53[Java, 자바] 백준 14425번, 문자열 집합

백준 14425번 👉🏻 https://www.acmicpc.net/problem/14425 # 난이도 : 실버4 문제내용 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 ..

[CS] 데이터 모델링이란 ?
IT이론/데이터베이스2024. 3. 1. 18:02[CS] 데이터 모델링이란 ?

요약 비즈니스 프로세스와 데이터 요구사항을 추상적이고 구조화된 형태로 표현하는 과정 ! 데이터 모델링이란 ? 데이터 모델링이란 주어진 개념으로부터 논리적인데이터 모델을 구성하는 작업을 말합니다. 즉, 현실의 개념들을 체계적으로 수집하여 정보모델링을 통해 사용자의 정보요구사항을 조사하고 이를 개체, 관계, 속성을 중심으로 명확하게 체계적으로 표현하고 문서화하는 기법을 데이터 모델링이라고 합니다. 데이터 모델링의 3단계 1. 개념적 모델링 개념적 모델링은 내가 하고자 하는 일의 데이터 간의 관계를 구상하는 단계입니다. 각 개체들과 그들간의 관계를 발견하고 표현하기 위해 ERD 다이어그램을 생성합니다. 3가지의 단계중 추상화의 수준이 가장 높고 핵심 엔티티(Entity)를 추출하는 단계입니다. 2. 논리적 모..

[Java, 자바] 백준 2589번, 보물섬(BFS)
알고리즘/백준2024. 2. 29. 14:30[Java, 자바] 백준 2589번, 보물섬(BFS)

백준 2589번 👉🏻 https://www.acmicpc.net/submit/2589 # 난이도 : 골드5 문제내용 보물섬 지도를 발견한 후크 선장은 보물을 찾아나섰다. 보물섬 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 각 칸은 육지(L)나 바다(W)로 표시되어 있다. 이 지도에서 이동은 상하좌우로 이웃한 육지로만 가능하며, 한 칸 이동하는데 한 시간이 걸린다. 보물은 서로 간에 최단 거리로 이동하는데 있어 가장 긴 시간이 걸리는 육지 두 곳에 나뉘어 묻혀있다. 육지를 나타내는 두 곳 사이를 최단 거리로 이동하려면 같은 곳을 두 번 이상 지나가거나, 멀리 돌아가서는 안 된다. 예를 들어 위와 같이 지도가 주어졌다면 보물은 아래 표시된 두 곳에 묻혀 있게 되고, 이 둘 사이의 ..

[CS] 유닉스(UNIX)란 무엇인가 ?
IT이론/네트워크2024. 2. 16. 15:40[CS] 유닉스(UNIX)란 무엇인가 ?

요약UNIX는 1960년 AT&T 벨(Bell) 연구소에서 개발된 대화식 운영체제이다.UNIX의 특징시분할 시스템(Time Sharing System)을 위해 설계된 대화식 운영체제로, 소스가 공개된 개방형 시스템(Open System)이다.대부분 C언어로 작성되어 있어 이식성이 높으며 장치, 프로세스 간의 호환성이 높다.다중 사용자(Multi-User), 다중 작업(Multi-Tasking)을 지원한다.많은 네트워킹 기능을 제공하므로 통신망(Network) 관리용 운영체제로 적합하다.트리구조의 파일 시스템을 갖는다.UNIX 시스템의 구성UNIX의 구조는 아래 이미지와 같이 커널, 쉘, 유틸리티 및 응용프로그램으로 나누어집니다.커널(Kernel) UNIX 시스템이 부팅될 때 가장 먼저 읽히는 운영체제의 ..

[Java, 자바] 백준 29700번, 우당탕탕 영화예매
알고리즘/백준2024. 2. 12. 23:09[Java, 자바] 백준 29700번, 우당탕탕 영화예매

백준 29700번 👉🏻 https://www.acmicpc.net/problem/29700 난이도 : 실버4 문제내용 도은이는 동아리 문화의 날을 맞이하여 동아리원들과 함께 좌석이 M행 N열의 직사각형 모양으로 배치되어 있는 영화관에서 영화를 보기로 했다. 도은이는 동아리원의 유대감을 중요하게 생각하기 때문에 이미 예매가 완료된 좌석을 피해 동아리원들이 모두 가로로 이어서 앉을 수 있도록 자리를 예매하고 싶어 한다. 도은이를 도와 모든 동아리원들이 가로로 이어서 앉을 수 있도록 예매하는 경우의 수는 총 몇 가지가 있을지 구해보자. 단, 예매한 좌석은 동일하지만, 각 사람이 앉는 위치만 바뀌는 경우는 한 가지로 본다. 입력 첫째 줄에 영화관 세로줄의 개수 N(1≤ N ≤ 1000)과 가로줄의 개수 M(1 ..

image