프로그래머스 - 92334 신고 결과 받기 풀이
문제 92334 신고 결과 받기 풀이 리포트의 중복을 제거하고 Array 타입을 Array<Pair<String, String>> 형태로 바꾼다. kotlin code val reportPairArray = report.toSet().map { it.split(' ').let { l -> Pair(l[0], l[1] )}...
문제 92334 신고 결과 받기 풀이 리포트의 중복을 제거하고 Array 타입을 Array<Pair<String, String>> 형태로 바꾼다. kotlin code val reportPairArray = report.toSet().map { it.split(' ').let { l -> Pair(l[0], l[1] )}...
문제 2042 구간 합 구하기 풀이 Long형 data를 최대 1,000,000개 합쳐야 하는 문제이다. 단순한 sum으로는 timeout이 발생한다.(아래 오답 부분 참고) 구간의 합을 구하기 위해 segment tree를 이용한다. Segment Tree는 부모 노드의 값이 자식 노드 값을 합이 되는 완전 이진 트리이다. ...
정의 컴퓨터 과학에서, 우선순위 큐(Priority queue)는 평범한 큐나 스택과 비슷한 축약 자료형이다. 그러나 각 원소들은 우선순위를 갖고 있다. 우선순위 큐에서, 높은 우선순위를 가진 원소는 낮은 우선순위를 가진 원소보다 먼저 처리된다. 만약 두 원소가 같은 우선순위를 가진다면 그들은 큐에서 그들의 순서에 의해 처리된다.[우선...
범위 [Part 1] 전략적 설계 - 03장: 도메인 복잡성 관리 개념 정리 바운디드 컨텍스트(bounded context): 제한된 문맥, 경제지어진 문맥, 모델의 경계, 유비쿼터스 언어의 범위 시맨틱 도메인: 주어진 컨텍스트 내에서 의미 집합을 공유하는 특정 장소 또는 그 의미를 유지하는 언어 책에서 기억하고 싶은 내용 ...
범위 [Part 1] 전략적 설계 - 02장: 도메인 지식 찾아내기 개념 정리 멘탈 모델: 도메인 전문가가 문제를 생각하는 방식 유비쿼터스 언어: 비즈니스 도메인을 설명하기 위한 단일화된 언어 체계 모델: 사물이나 현상에서 의도한 관점만 강조하고 다른 측면은 무시하여 간략히 표현한 것이다. 즉, 특정 용도를 마음에 둔 추상화의...
범위 [Part 1] 전략적 설계 - 01장: 비즈니스 도메인 분석하기 개념 정리 비즈니스 도메인: 회사가 고객에게 제공하는 서비스, 기업의 주요 활동 영역 하위 도메인(subdomain): 비즈니스 활동의 세분화된 영역 핵심 하위 도메인(core subdomain): 회사가 경쟁업체과 다르게 수행하고 있는 것 일반 하위 ...
표지 책 소개 도메인 주도 설계를 이해하고 적용하는 데 필요한 이론과 사례를 담은 실질적인 지침서! 소프트웨어 개발은 예전보다 어렵다. 개발자로서 지속적으로 변화하는 기술 트렌드를 따라잡아야 할 뿐 아니라 소프트웨어 이면의 비즈니스 도메인도 이해해야 한다. 이 실용서는 비즈니스 도메인을 분석하고 비즈니스 전략을 이해하는 것은 물론이고, 무엇보...
문제 2206 벽 부수고 이동하기 풀이 1. 알고 있어야 할 점 이 문제는 너비 우선 탐색(bfs)을 이용하여 푸는 문제이다. 가중치가 모두 동일한 최단거리 문제는 대부분 너비 우선 탐색으로 풀 수 있다. 가중치가 있는 경우 다익스트라 알고리즘 등으로 풀 수 있다. 일반적인 너비 우선 탐색 문제와 차이...
문제 1753 최단경로 풀이 1. 알고 있어야 할 점 이 문제는 전형적인 데이크스트라 알고리즘을 이용하여 푸는 문제이다. 2. 문제의 예제 1의 연산 과정 1. 시작 노드인 1로 초기화 노드 1에서 노드 1은 같은 노드이므로 최단 거리가 0이다. 우선 순위 큐를 선언하고, 노드 0를 넣는다. 2. 노드 1에서 탐색 노드...
1. kotlin의 제곱 함수 kotlin의 제곱 함수는 kotlin.math package에 float와 double 타입에 대한 확장 함수로 선언되어 있다. 확장 함수로 형태만 변경 되었을 뿐, 내부적으로는 자바의 java.lang package의 Math.pow 함수를 그대로 사용한다. code: kotlin.math...