분류 전체보기 275

[백준]1026 보물(JAVA)

보물 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 44120 28432 24179 66.904% 문제 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같..

[COS PRO] [1차] 문제4) 타임머신 - JAVA (두 가지 방법)

※ 프로그램 구현문제 □ 문제설명 어느 누군가가 타임머신을 타고 과거로 가서 숫자 0이 없는 수 체계를 전파했습니다. 역사가 바뀌어 이제 사람들의 의식 속엔 0이란 숫자가 사라졌습니다. 따라서, 현재의 수 체계는 1, 2, 3, ..., 8, 9, 11, 12, ...와 같이 0이 없게 바뀌었습니다. 0을 포함하지 않은 자연수 num이 매개변수로 주어질 때, 이 수에 1을 더한 수를 return 하도록 solution 함수를 완성해주세요. □ 매개변수 설명 자연수 num이 solution 함수의 매개변수로 주어집니다. num은 1 이상 999,999,999,999,999,999 이하의 0을 포함하지 않는 자연수입니다. □ return 값 설명 자연수 num에 1을 더한 수를 return 해주세요. □ 예..

[COS PRO] [1차] 문제3) 계산기 by 문자열 - JAVA

※ 프로그램 빈 칸 채우기 문제 □ 문제설명 문자열 형태의 식을 계산하려 합니다. 식은 2개의 자연수와 1개의 연산자('+', '-', '*' 중 하나)로 이루어져 있습니다. 예를 들어 주어진 식이 "123+12"라면 이를 계산한 결과는 135입니다. 문자열로 이루어진 식을 계산하기 위해 다음과 같이 간단히 프로그램 구조를 작성했습니다. 1단계. 주어진 식에서 연산자의 위치를 찾습니다.2단계. 연산자의 앞과 뒤에 있는 문자열을 각각 숫자로 변환합니다.3단계. 주어진 연산자에 맞게 연산을 수행합니다. 문자열 형태의 식 expression이 매개변수로 주어질 때, 식을 계산한 결과를 return 하도록 solution 메소드를 작성하려 합니다. 위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주..

[자료구조]리스트와 배열의 차이

가장 큰 차이는 인덱스의 유무 배열에서는 인덱스를 통해 빠르게 데이터의 조회가 가능하다. 그런데 이 인덱스때문에 원소가 삭제되어옫 인덱스를 유지해야해서 해당 메모리를 유지해야한다는 단점. 그래서 그 크기에 맞는 배열을 선언하지 않으면 메모리 낭비를 초래. 리스트는 이런 메모리의 낭비를 줄이기 위해 인덱스를 포기하고 노드를 연결해 데이터를 적재하는 형태의 선형 자료구조 불연속적인 메모리 공간에 원소와 다음 노드의 주소를 가진 노드가계속해서 이어져 있어 선형의 형태를 유지하는 것이다. 리스트는 주로 원소의 삽입과 삭제가 빈번하거나, 자료의 검색이 빈번하지 않은 경우에 사용한다. 배열 → 인덱스로 바로 접근 가능. 자료구조 크기 크면 더 좋다! But 삽입과 삭제가 어렵고 크기가 가변이 아님. 리스트 → 크기..

카테고리 없음 2022.11.28

[백준] 수찾기 1920 (JAVA) 이진탐색, 메서드, HashSet

수 찾기 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 172348 51518 34199 29.830% 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수의 범위는 -231 보다 크거나 같고 231보다 작다. 출력 M개의 줄에 답을 출력한다. 존재하면 1을, 존재하지 않으면 0을 출력한다. 예제 입..

[데이터베이스] 4.5 인덱스

1. 인덱스의 필요성 데이터를 빠르게 찾을 수 있는 하나의 장치! 인덱스 생성의 장단점 장점 검색 속도가 빨라 질수 있다. 시스템의 부하를 줄여 전체 시스템의 성능을 향상 시킨다. 단점 인덱스는 Database 공간을 차지 한다 .- 인덱스 생성 시 많은 시간이 소요 될 수 있다. 데이터 변경 작업 시(Insert, Update, Delete) 성능이 나빠질 수 있다(빈번할 경우) 2. B-트리 B트리는 이진트리에서 발전되어 모든 리프 노드들이 같은 레벨을 가질 수 있도록 자동으로 밸런스를 맞추는 트리. 정렬된 순서를 보장하고, 멀티레벨 인덱싱을 통한 빠른 검색을 할 수 있어 DB에서 사용하는 자료구조 중 한 종류 자식 node의 개수가 2개 이상이며, node 내의 key가 1개 이상일 수 있다. 루트..

[데이터베이스] 4.4 데이터베이스의 종류

1. 관계형 데이터베이스 → 관계형 데이터베이스란 행과 열을 가지는 표 형식 데이터를 저장하는 형태의 데이터베이스를 가리키며 SQL이라는 언어를 써서 조작! 참고! 관계형 데이터베이스의 경우 표준 SQL은 지키기는 하지만, 각각의 제품에 특화시킨 SQL을 사용 예를 들어 오라클의 경우 PL/SQL 이라고 하며, SQL Server 에서는 T-SQL. MySQL 은 SQL 사용 1) MySQL 대부분 운영체제와 호환되며 현재 가장 많이 사용하는 데이터베이스 C, C++ 로 만들어졌으며 매우 빠른 조인, 스레드 기반의 메모리 할당 시스템, 최대 64개의 인덱스를 제공 - 롤백 , 커밋, 이중 암호 지원 보안 등의 기능 제공 2) PsetgreSQL 디스크 조각이 차지하는 영역을 회수할 수 있는 장치인 VAC..

[데이터베이스] 4.3 트랜잭션과 무결성

1. 트랜잭션이란? 데이터베이스에서 하나의 논리적 기능을 수행하기 위한 작업의 단위 즉 여러개의 쿼리들을 하나로 묶는 단위! _트랜잭션이 보장해야 하는 ACID 원자성, 일관성, 격리성, 지속성 Atomicity(원자성) - all or nothing → 트랜잭션과 관련된 일이 모두 수행되었거나 되지 않았거나를 보장하는 특징 한 트랜잭션 내에서 실행한 작업들은 하나의 작업으로 간주. 모두 성공 또는 실패되어야 한다. Consistency(일관성) → ‘허용된 방식’으로만 데이터를 변경해야 하는 것(통장에 500원있는데 500만원 출금 X) Isolation(격리성) : →동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않도록 격리 트랜잭션 수행 시 서로 끼어들지 못함! _격리성 관련 문제점 1**) No..

[데이터베이스] 4.2 ERD와 정규화 과정

ERD란? → 데이터베이스 구축할 때 가장 기초적인 뼈대 역할을 하며, 릴레이션 간 관계들을 정의한 것. 시스템의 요구 사항 기반으로 작성되며 ERD를 기반으로 데이터베이스를 구축한다. 서비스를 구축한다면 가장 먼저 신경써야할 부분이다!!!! ERD 단점 → 관계형 구조는 유용 BUT 비정형 데이터를 충분히 표현할 수 없다. 비정형 데이터 : 비구조화 데이터, 미리 정의된 데이터 모델이 없거나 미리 정의된 방식으로 정리되지 않은 정보 정규화 과정 정규형 원칙 자료의 중복성 감소 독립적인 관계는 별개의 릴레이션으로 표현 각가의 릴레이션은 독립적인 표현이 가능해야 함 데이터베이스 이상 현상 : 삭제할 때 필요한 데이터가 같이 삭제되고, 데이터 삽입을 해야하는데 하나의 필드가 NULL이되면서 삽입하기 어려운 ..

[데이터베이스] 4.1 데이터베이스의 기본

데이터베이스란? → 일정한 규칙 혹은 규약을 통해 구조화되어 저장되는 데이터의 모음. 데이터베이스 안에 있는 데이터들은 특정 DBMS마다 정의된 쿼리 언어를 통해 삽입, 삭제, 수정, 조회 등을 수행할 수 있다. 또한 데이터베이스는 실시간 접근과 동시 공유가 가능합니다. DBMS → 해당 데이터베이스를 제어, 관리하는 통합시스템을 DBMS라고 한다. 엔터티 → 엔터티는 사람, 장소, 물건, 사건, 개념 등 여러 개의 속성을 지닌 명사를 의미 언테터티는 약한 엔터티와 강한 엔터티로 나뉜다. 예를 들어 A가 혼자서 존재하지 못하고 B의 존재 여부에 따라 종속적이라면 A : 약한 엔터티 B : 강한 엔터티 예) 방은 건물 안에만 존재함 방 : 약한 엔터티 건물 : 강한 엔터티 릴레이션 → 릴레이션은 데이터베이..