본문 바로가기

CS42

[그리디] 곱하기 혹은 더하기 곱하기 혹은 더하기 : 문제 설명 & 문제 조건    곱하기 혹은 더하기 : 문제 해결 아이디어 대부분의 경우 '+' 보다는 'x'가 더 값을 크게 만든다.예를 들어 5+6=11이고, 5 X 6 = 30다만 두 수 중에서 하나라도 '0' 혹은 '1'인 경우, 곱하기보다는 더하기를 수행하는 것이 효율적이다.따라서 두 수에 대하여 연산을 수행할 때, 두 수 중에서 하나라도 1 이하인 경우에는 더하며, 두 수가 모두 2 이상인 경우에는 곱하면 정답이다.    곱하기 혹은 더하기 : 답안 예시 (Python) data=input()#첫 번째 문자를 숫자로 변경하여 대입result=int(data[0])for i in range(1,len(data)): #두 수 중에서 하나라도 '0' 혹은 '1'인 경우, 곱하기.. 2024. 12. 9.
[그리디] 1이 될 때까지 * [한빛미디어] 이것이 코딩테스트다 with 파이썬 책 & 강의를 공부하고 정리하였습니다.    1이 될 때까지 : 문제 설명    1이 될 때까지 : 문제 해결 아이디어 주어진 N에 대하여 최대한 많이 나누기를 수행하면 된다.N의 값을 줄일 때 2 이상의 수로 나누는 작업이 1을 빼는 작업보다 수를 훨신 많이 줄일 수 있다.예를 들어 N=25, K=3일때는 다음과 같다.   1이 될 때까지 : 정당성 분석  가능하면 최대한 많이 나누는 작업이 최적의 해를 항상 보장할 수 있을까?   N이 아무리 큰 수여도, K로 계속 나눈다면 기하급수적으로 빠르게 줄일 수 있다. K가 2 이상이기만 하면 K로 나누는 것이 1을 빼는 것보다 항상 빠르게 N의 값을 줄일 수 있으며,N이 결국 1에 도달한다는 것을 알 수.. 2024. 12. 9.
[그리디] 그리디 알고리즘이란 & 거스름 돈 문제 * [한빛미디어] 이것이 코딩테스트다 with 파이썬 책 & 강의를 공부하고 정리하였습니다.    1. 그리디 알고리즘이란?2. [문제] 거스름돈 문제   그리디 알고리즘은 무엇일까? 그리디 알고리즘(탐욕법)은 현재 상황에서 지금 당장 좋은 것만 고르는 방법 을 의미한다.   일반적인 그리디 알고리즘은 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력을 요구한다. 그리디 해법은 그 정당성 분석이 중요하다.즉, 단순히 가장 좋아 보이는 것을 반복적으로 선택해도 최적의 해를 구할 수 있는지 검토한다.    예를들어, 다음과 같은 그래프가 있다.  [문제상황]루트 노드부터 시작하여 거쳐 가는 노드 값의 합을 최대로 만들고 싶다. Q.이때 최적의 해는 무엇일까?   파란색으로 색칠한 것과 같이 5->7.. 2024. 12. 9.
[DB] 3. 관계형 데이터 베이스의 구성 요소, 키 종류(기본키, 보조키, 후보키, 복합키) 1. 테이블관계형 데이터베이스는 데이터를 2차원 표 형태로 저장하고 관리하는데이 표 형태의 데이터 저장 공간을 테이블(table)이라고 한다. (즉, 관계형 데이터 베이스에서 2차원 표형태의 데이터 저장공간을 테이블이라 한다) 이때 가로 줄을 행(row), 세로줄을 열(column) 이라고 부른다. 1) 행저장하려는 하나의 개체를 구성하는 여러 값을 가로로 늘어뜨린 형태  2) 열저장하려는 데이터를 대표하는 이름과 공통 특성을 정의한다.  3) 관계형 데이터베이스와 테이블관계형 데이터베이스에서 관계란 행과 열의 특성에 맞추어 데이터를 저장한 테이블 하나하나를 의미한다.여러 테이블의 구성과 관계를 잘 규정하고 관리하는 것이 관계형 데이터베이스에서 데이터를 관리하는 핵심이다.   2. 특별한 의미를 지닌 열.. 2024. 12. 6.
[DB] 2. 데이터 모델, 관계형 데이터베이스, SQL 1. 데이터 모델컴퓨터에 데이터를 저장하는 방식을 정의해 놓은 개념 모형 대표 데이터모델 : 계층형, 네트워크형, 관계형, 객체 지향형 등이 있음   2. 계층형 데이터 모델[그림] - 나뭇가지 형태의 트리(tree)구조를 활용하여 데이터 관련성을 계층별로 나누어 부모 자식 같은 관계를 정의하고 데이터를 관리함.- 계층형 데이터모델을 이해하기 위해서는 일대다(1:다) 관계의 데이터 구조를 파악해야 함 특징- 상위 개념에 하위 개념이 포함되어 있는 특징- 하나의 부모 개체가 여러 자시을 가질 수 있음 (o)- 자식개체는 여러 부모 개체를 가질 수 없다는 제약이 있음 => 일대다 구조의 데이터를 표현하기에는 알맞지만 자식 개체가 여러 부모를 가진 관계는 표현할 수 없음    3. 네트워크형 데이터 모델- 망.. 2024. 12. 5.
1. 데이터와 데이터베이스 , DBMS 1. 데이터베이스와 DBMS(1) 데이터베이스      데이터(data)와 베이스(base)의 합성어 (2) DBMS     Database Management System의 약자      데이터베이스 관리 시스템을 의미함   2. 데이터와 정보(1) 데이터     어떤 필요에 의해 수집했지만 아직 특정 목적을 위해 평가하거나 정제하지 않은 값이나 사실 또는 자료 자체를 의미함 (2) 정보    수집한 데이터를 어떠한 목적을 위해 분석하거나 가공하여 가치를 추가하거나 새로운 의미를 이끌어 낼 수 있는 결과   3. 효율적인 데이터 관리를 해야하는 이유?- 데이터가 여기저기 흩어져 있으면 최신 데이터를 정확하게 찾아내는 것이 쉽지 않다.- 데이터가 누락되거나 중복된다면 정확한 분석을 기대할 수 없다   4.. 2024. 12. 5.