베스트앨범
function solution(genres, plays) {
const genreMap = new Map();
genres
.map((genre, index) => [genre, plays[index]])
.forEach(([genre, play], index) => {
const data = genreMap.get(genre) || {total: 0, songs: []};
genreMap.set(genre, {
total: data.total + play,
songs: [...data.songs, {play, index}]
.sort((a, b) => b.play - a.play)
.slice(0, 2)
})
})
return [...genreMap.entries()]
.sort((a, b) => b[1].total - a[1].total)
.flatMap(item => item[1].songs)
.map(song => song.index)
}
그리디(Greedy)
매 선택에서 지금 이 순간 최적인 답을 선택하는 알고리즘
최적해를 보장해주지 않는다.
크루스칼, 다익스트라 알고리즘 등에 사용된다.
직관적인 문제 풀이에 적합하다.
큰 수 만들기
그리디알고리즘 이용
item보다 작은 모든 stack 요소들을 pop
function solution(number, k) {
const stack = [];
let count = 0;
for (const item of number) {
while(count < k && stack[stack.length - 1] < item) {
stack.pop();
count += 1;
}
stack.push(item);
}
while(count < k) {
stack.pop();
count += 1;
}
return stack.join("");
}
팀 프로젝트 미팅 - 문현수 박사님
하루 1~2시간은 팀 프로젝트를 위한 활동이 필요하다
빠르게 처리할 수 있는 일들을 지금 하자
디자인스프린트
사용자 경험 및 시제품을 중심으로 제품을 개발하는 방법론
이해, 발산, 결정, 시제품, 테스트의 과정을 거침
공유 가능한 구글 슬라이드, office 365 슬라이드 활용 시제품 제작
가능하면 이번주, 늦으면 다음주까지 팀이 함께 만들어보기
팀프로젝트 회의내용
블라인트 투표를 통한 주제 축약
모두가 투표한 두 주제에 대해 프로토타입 제작해보기(비슷한 아이디어를 가지고 있었던 두명씩 나누어)
주제는 프로토타입 제작 후 결정 예정
코딩테스트
해시 테이블(Hash Table)
key, value system
사전과 유사하다.
탐색 시간 : O(1)
요소 추가 : O(1)
해시 충돌
리스트의 공간에 또 다른 배열을 넣는 방법
충돌이 있는 경우는 O(N)시간
DB - 김종익 교수님
DBMS(Database Mangement System)
특정한 enterprise(데이터를 관리하고자 하는 대상)에 대한 정보를 가지고 있다.
- 연관이 있는 데이터의 집합
- 데이터를 접근하기 위한 프로그램들
- 프로그램을 편리하고 효과적으로 사용할 수 있는 환경들
가치 있는 데이터, 많은 데이터
동시에 여러 명의 유저, 여러 개의 시스템이 데이터베이스에 접근한다.
데이터베이스 접근을 위한 표준 : SQL
데이터 중복의 문제 -> 정보가 수정되었을 때 한쪽에서는 수정되고 다른 쪽에서는 수정되지 않는 문제
비일관적이다.
데이터 isolation 문제 -> 서로 관련이 있는 데이터라도 다른 공간에 쪼개져 있는 경우
꺼내는데 어렵고, 고립되어 있다. 찾기 어려울 수도 있다.
Integrity 문제(무결성) -> 나이가 특정 범위 내에 있어야 함, 단순히 정수로 설정해서 쓰면 계산이 잘못되어 음수가 저장되는 경우
atomicity of updates(원자성)
어떤 업데이트가 여러 개로 쪼개져 일어나지 않고 한번에 일어나야 한다.
업데이트가 되거나 / 되지 않거나
relational model
테이블 형태의 데이터
logical schema
type에 해당하는 것
database engine
- storage manager
- Query Processor
- Transaction management
ACID
relation은 tuple들의 집합이다.
schema : logical structure of database
superkey, candidate key, primary key, foreign key
'SW Academy' 카테고리의 다른 글
[CNU SW Academy] 12일차(22.12.16) (0) | 2022.12.18 |
---|---|
[CNU SW Academy] 11일차(22.12.15) (1) | 2022.12.15 |
[CNU SW Academy] 8일차(22.12.12.) (0) | 2022.12.12 |
[CNU SW Academy] 7일차(22.12.09.) (0) | 2022.12.09 |
[CNU SW Academy] 6일차(22.12.08.) (0) | 2022.12.08 |