DP 알고리즘
·
알고리즘
다이나믹 프로그래밍(DP)메모리를 적절히 활용하여 수행시간 효율성을 비약적으로 향상시키는 방법이미 계산된 결과(작은 문제)는 별도의 메모리 영역에 저장하여 다시 계산되지 않도록 캐싱한다.구현 종류- Top down- Bottom upDP의 조건최적 부분 구조(Optimal Substructure)큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제를 해결중복되는 문제 (Overlapping Subproblem)동일한 작은 문제를 반복적으로 해결해야함피보나치 수열피보나치 수열은 다음과 같은 형태를 가지는 수열이다.- 점화식이란 인접한 항들 사이의 관계식- 피보나치 수열을 점화식으로 표현한다면?def fibo(x): if x == 1 or x == 2: return 1 ..
구현 알고리즘
·
알고리즘
구현 알고리즘이란 무엇일까?머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 알고리즘 문제를 풀이할 때 구현은 매우 필요하다. 거의 모든 문제가 '구현 문제'인데 가끔 구현이 어렵거나 구현에 초점이 맞추어진 문제들이 있다. 즉, 풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제라고 알고 있으면 된다.예시실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제문자열을 특정한 기준에 따라서 끊어 처리해야 하는 문제적절한 라이브러리를 찾아서 사용해야 하는 문제알고리즘은 간단한데, 코드가 지나칠 만큼 길어지는 문제ex) 파싱, 해싱, 정렬, 시뮬레이션구현하기 어려운 문제까다로운 구현 유형의 문제알고리즘은 간단한데 코드가 지나칠 만큼 길어지는 문제특정 소수점 자리까지 출력해야 하는 문제문자열이 ..
그리디 알고리즘
·
알고리즘
그리디 알고리즘이란?탐욕 알고리즘(Greedy algorithm)은 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달한다. 순간마다 하는 선택은 그 순간에 대해 지역적으로는 최적이지만, 그 선택들을 계속 수집하여 최종적(전역적)인 해답을 만들었다고 해서, 그것이 최적이라는 보장은 없다. 하지만 탐욕알고리즘을 적용할 수 있는 문제들은 지역적으로 최적이면서 전역적으로 최적인 문제들이다.문제거스름 돈https://www.acmicpc.net/problem/5585n = int(input())count = 0n = 1000 - ncoin_types = [500, 100, 50, 10..
Hash
·
알고리즘
해시(Hash)란? 해시는 데이터 관리를 효율적으로 하기 위해 사용하는 기술로, 해시 함수를 사용하여 데이터의 값을 고유한 짧은 해시 코드로 변환하는 과정을 말합니다. 이 해시 코드는 데이터를 저장하거나 검색할 때 사용되는 "키"의 역할을 합니다. 해시의 주요 용도 데이터 검색: 해시 테이블을 이용하여 빠른 데이터 검색 속도를 제공합니다. 해시 함수가 데이터를 해시 테이블의 인덱스로 변환하여, 데이터 접근 시간을 줄입니다. 데이터 보안: 암호화에서 해시 함수는 데이터의 무결성을 확인하는 데 사용됩니다. 예를 들어, 비밀번호는 데이터베이스에 해시 형태로 저장되어 원본 비밀번호가 노출되지 않도록 합니다. 데이터 중복 검사: 파일이나 데이터의 해시 값을 비교하여 중복을 감지할 수 있습니다. 해시 함수의 특징 ..
완주하지 못한 선수
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(participant, completion): hash_dict={} sumHash=0 for p in participant: hash_dict[hash(p)]=p sumHash+=hash(p) for c in completion: sumHash-=hash(c) return hash_dict[sumHash] 위와 같이 간단히 풀 수 있지만 해시..