목록2023/11 (69)
넘치게 채우기
https://leetcode.com/problems/knight-dialer/description/ Knight Dialer - LeetCode Can you solve this real interview question? Knight Dialer - The chess knight has a unique movement, it may move two squares vertically and one square horizontally, or two squares horizontally and one square vertically (with both forming the shape of an L) leetcode.com leetcode - Knight Dialer 문제 유형 : 다이나믹 프로그래밍 / 부..
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net BOJ - 1715. 카드 정렬하기 문제 유형 : 우선순위 큐 문제 난이도 : Gold IV 문제 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장의 숫자 카드 묶음을 합치려면 50번의 비교가 필요하다. 매우 많은 숫자 카드 묶음..
소프트웨어 시스템이란, 정책을 기술한 것이다. 실제로 컴퓨터 프로그램의 핵심부는 이게 전부다. 컴퓨터 프로그램은 각 입력을 출력으로 변환하는 정책을 상세하게 기술한 설명서다. 소프트웨어 아키텍처를 개발하는 기술에는 이러한 정책을 신중하게 분리하고, 정책이 변경되는 양상에 따라 정책을 재편성하는 일도 포함된다. 동일한 이유로 동일한 시점에 변경되는 정책은 동일한 수준에 위치하며, 동일한 컴포넌트에 속해야 한다. 서로 다른 이유로, 혹은 다른 시점에 변경되는 정책은 다른 수준에 위치하며, 반드시 다른 컴포넌트로 분리해야 한다. 흔히 아키텍처 개발은 재편성된 컴포넌트들을 비순환 방향 그래프(DAG)로 구성하는 기술을 포함한다. 그래프에서 정점(node)은 동일한 수준의 정책을 포함하는 컴포넌트에 해당한다. 방..
https://leetcode.com/problems/largest-submatrix-with-rearrangements/description/ Largest Submatrix With Rearrangements - LeetCode Can you solve this real interview question? Largest Submatrix With Rearrangements - You are given a binary matrix matrix of size m x n, and you are allowed to rearrange the columns of the matrix in any order. Return the area of the largest submatrix within leetcode.co..
https://school.programmers.co.kr/learn/courses/30/lessons/214289 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2023 현대모비스 알고리즘 경진대회 예선 - 에어컨 문제 유형 : 다이나믹 프로그래밍 문제 난이도 : Level 3 문제 현대모비스에서 개발한 실내공조 제어 시스템은 차내에 승객이 탑승 중일 때 항상 쾌적한 실내온도(t1 ~ t2)를 유지할 수 있도록 합니다. 현재(0분) 실내온도는 실외온도와 같습니다. 실내공조 제어 시스템은 실내온도를 조절하기 위해 에어컨의 전원을 켜 희망온도를 설정합니다...
https://leetcode.com/problems/sum-of-absolute-differences-in-a-sorted-array/description/ Sum of Absolute Differences in a Sorted Array - LeetCode Can you solve this real interview question? Sum of Absolute Differences in a Sorted Array - You are given an integer array nums sorted in non-decreasing order. Build and return an integer array result with the same length as nums such that result[i] is..
시스템 아키텍처는 일련의 소프트웨어 컴포넌트와 그 컴포넌트들을 분리하는 경계에 의해 정의된다. 이러한 경계는 다양한 형태로 나타난다. 이 장에서는 이러한 형태 중에서 가장 흔한 몇 가지를 살펴보자. 경계 횡단하기 ‘런타임에 경계를 횡단한다’함은 그저 경계 한쪽에 있는 기능에서 반대편 기능을 호출하여 데이터를 전달하는 일에 불과하다. 적절한 위치에서 경계를 횡단하게 하는 비결은 소스 코드 의존성 관리에 있다. 왜 소스 코드일까? 왜냐하면 소스 코드 모듈 하나가 변경되면, 이에 의존하는 다른 소스 코드 모듈도 변경하거나, 다시 컴파일해서 새로 배포해야 할지도 모르기 때문이다. 경계는 이러한 변경이 전파되는 것을 막는 방화벽을 구축하고 관리하는 수단으로써 존재한다. 두려운 단일체 아키텍처 경계 중에서 가장 단..
https://leetcode.com/problems/maximum-number-of-coins-you-can-get/description/ Maximum Number of Coins You Can Get - LeetCode Can you solve this real interview question? Maximum Number of Coins You Can Get - There are 3n piles of coins of varying size, you and your friends will take piles of coins as follows: * In each step, you will choose any 3 piles of coins (not necessarily c leetcode.com le..
https://leetcode.com/problems/arithmetic-subarrays/description/ Arithmetic Subarrays - LeetCode Can you solve this real interview question? Arithmetic Subarrays - A sequence of numbers is called arithmetic if it consists of at least two elements, and the difference between every two consecutive elements is the same. More formally, a sequence s is ari leetcode.com leetcode - Arithmetic Subarrays ..
소프트웨어 아키텍처는 선을 긋는 기술이다. 이러한 선을 경계라고 한다. 경계는 소프트웨어 요소를 서로 분리하고, 경계 한편에 있는 요소가 반대편에 있는 요소를 알지 못하도록 막는다. 이들 선 중 일부는 프로젝트 수명 중 아주 초기에, 심지어 코드가 작성되기도 전에 그어지며, 어떤 선은 매우 나중에 그어진다. 초기에 그어지는 선들은 가능한 한 오랫동안 결정을 연기시키기 위해, 그래서 이들 결정이 핵심적인 업무 로직을 오염시키지 못하게 만들려는 목적으로 쓰인다. 아키텍트의 목표는 필요한 시스템을 만들고 유지하는 데 드는 인적 자원을 최소화하는 것이라는 것을 상기하자. 그렇다면 인적 자원의 효율을 떨어뜨리는 요인은 무엇일까? 바로 결합이다. 특히 너무 일찍 내려진 결정에 따른 결합이다. 어떤 종류의 결정이 이..