[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. 논리적 모..

[CS] DataBase 정규화(Normaliztion)란 ?
IT이론/데이터베이스2024. 2. 29. 16:46[CS] DataBase 정규화(Normaliztion)란 ?

요약 정규화란 Entity(테이블)를 분해하는 과정이다 ! 정규화의 개념 하나에 테이블에 많은 속성을 넣게 되면, 해당 테이블를 조회할 때 마다 많은 양의 데이터가 조회될 것이므로 최소한의 데이터만을 하나의 테이블에 넣는식으로 테이블을 분해하는 과정을 정규화라고합니다. 데이터의 일관성, 최소한의 데이터 중복, 최대한의 데이터 유연성을 위한 과정이라고 볼 수 있습니다. 데이터의 중복을 제거하고 데이터 모델의 독립성을 확보하는 과정입니다. 데이터 이상현상을 줄이기 위한 데이터 베이스 설계 기법입니다. 제1 정규화부터 제5 정규화까지 존재하지만 실질적으로는 제3 정규화까지만 수행됩니다. 정규화의 단계 [ 제1 정규화(1NF) ] 제1 정규화란 테이블의 컴럼이 원자값(Atomic Value, 하나의 값)을 갖도..

[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 ..

[Java, 자바] 백준 2839번, 설탕 배달
알고리즘/백준2024. 2. 9. 22:40[Java, 자바] 백준 2839번, 설탕 배달

백준 2839번 👉🏻 https://www.acmicpc.net/problem/2839 난이도 : 실버4 문제내용 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그램 봉지와 5킬로그램 봉지가 있다. 상근이는 귀찮기 때문에, 최대한 적은 봉지를 들고 가려고 한다. 예를 들어, 18킬로그램 설탕을 배달해야 할 때, 3킬로그램 봉지 6개를 가져가도 되지만, 5킬로그램 3개와 3킬로그램 1개를 배달하면, 더 적은 개수의 봉지를 배달할 수 있다. 상근이가 설탕을 정확하게 N킬로그램 배달해야 할 때, 봉지 몇 개를 가져가면 되는지 그 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄..

[Java, 자바] 백준 1003번, 피보나치 함수
알고리즘/백준2024. 2. 9. 02:54[Java, 자바] 백준 1003번, 피보나치 함수

백준 1012번 👉🏻 https://www.acmicpc.net/problem/1003 난이도 : 실버3 문제내용 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fibonacci(0)은 0을 출력하고, 0을 리턴한다. fibonacci(2)는 fibonacci(1)과 fibonacci(0)의 결과를 얻고, 1을 리턴한다. 첫 번째 호출한 fibonacci(..

image