Computer science

프로그래머스의 레벨 2 문제 혼자 놀기의 달인 문제 요구 조건 상자 안에 들어있는 카드 번호가 순서대로 담긴 배열 cards가 매개변수로 주어질 때, 얻을 수 있는 최고 점수를 구해서 return 하도록 solution 함수를 완성해야 한다. 풀이 생각 과정 전제 조건 문제의 제한 사항이 널널했기 때문에 간단하게 생각하여 풀 수 있었다. 과정 그룹을 분리하고 길이가 가장 긴 그룹 2개를 곱한게 최고 점수 그룹을 분리하기 위해서 방문했던 것들을 기록해야함 방문한 것들을 제외하고 순회해야함 방문한 것은 방문했다고 체크, 더이상 방문할 곳이 없으면 그룹 길이 저장 def solution(cards): visit = [False] * len(cards) group = [] for i in range(len(ca..
계속 업데이트 합니다~ NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점을 들어 설명해주세요. RDBMS: 장점: 엄격한 스키마로 데이터 무결성 보장, ACID 트랜잭션을 완전히 지원, 복잡한 쿼리와 조인 연산 가능. 단점: 수평 확장이 어렵고, 대용량 데이터 처리 시 성능 저하 가능성이 있음. NoSQL: 장점: 유연한 스키마로 다양한 데이터 유형 저장 용이, 수평 확장성이 뛰어나 대규모 분산 시스템에 적합, 빠른 읽기/쓰기 속도 제공. 단점: 전통적인 ACID 트랜잭션 지원이 제한적, 데이터 일관성 모델이 RDBMS보다 약함 mvc 패턴에 대해서 설명해주세요. 모델 컨트롤러가 호출을 하면 DB와 연동하여 사용자의 입출력 데이터를 다루는 일과 같은 데이터와 연관된 비즈니스 로직을 처리하는 역할..
프로그래머스의 레벨 2 문제 최솟값 만들기 문제 요구 조건 두 리스트에서 원소 하나씩을 꺼내 곱한 값을 모두 더했을 때, 최소가 되는 값을 구해야 한다. 풀이 방법 a에서 가장 작은 수 순서대로, b에서 가장 큰 수 순서대로 곱하면 그게 최소다. def solution(A,B): answer = 0 A.sort() B.sort(reverse=True) for i in range(len(A)): answer += A[i]*B[i] return answer
프로그래머스의 레벨 2 문제 하노이의 탑 문제 요구 조건 큰 원판이 작은 원판 위에 올 수 없는 규칙에 맞춰 원판을 옮겨야 한다. 풀이 방법 가장 큰 원판 위의 n-1개의 원판들을 임시 기둥으로 옮긴다. 가장 큰 원판을 목표 기둥으로 옮긴다. 임시 기둥의 원판들을 같은 방법으로 목표 기둥으로 옮긴다. 위의 방법을 재귀호출해서 해결했다. # n-1개의 원판들을 임시 기둥으로 옮기고 # 가장 큰 원판을 목표 기둥으로 옮긴 후에 # 임시 기둥의 원판들을 목표 기둥으로 옮기자 answer = [] def hanoi(n, from_, to): global answer if n == 1: answer.append([from_, to]) return None for i in range(1, 4): if i not i..
식별 관계 자식 엔티티의 기본 키가 부모 엔티티의 기본 키를 포함하는 경우이다. 자식 엔티티는 부모 엔티티 없이 존재할 수 없다. 예시) 주문 엔티티가 고객 엔티티의 기본 키를 포함하고, 고객 없이 주문이 존재하지 않는 경우 식별 관계이다. 비식별 관계 자식 엔티티가 부모 엔티티의 기본 키를 포함하지 않거나, 포함해도 그것이 자식의 기본 키의 일부가 아닌 경우이다. 자식 엔티티는 부모 엔티티와 독립적으로 존재할 수 있다. 예시) 직원 엔티티와 부서 엔티티가 연결되어 있지만, 직원의 기본 키가 부서의 기본 키를 포함하지 않는 경우 비식별 관계이다.
프로그래머스의 레벨 2 문제 올바른 괄호 문제 요구 조건 괄호의 짝이 잘 맞는지 확인한다. 풀이 방법 여는 괄호를 스택에 저장하면서 닫는 괄호를 만나면 스택에서 제거하는 방식으로 짝을 구성한다. # (는 스택에 넣고, )를 만나면 스택을 빼는데, 스택을 뺄때 (이 아니라면 에러다. def solution(s): stack = [] for c in s: if c == "(": stack.append(c) else: if len(stack) < 1: return False if stack.pop() != "(": return False return len(stack) == 0
도_유
'Computer science' 카테고리의 글 목록