전체 글
[프로그래머스] 괄호 변환 (Python) / 카카오 2020
문제 위의 규칙에 따라 입력 문자열을 "올바른 괄호 문자열"로 변환하려고 한다. 문제 링크 재귀는 특정 과정(규칙)을 특정 조건까지 수행한 결과를 반환하는 문제가 대부분이다. 몇 단계만 그림을 그려보면 재귀를 이해하는데 큰 도움이 된다. p = "()))(())" 일 때 올바른 괄호 문자열로 변화하는 과정을 그리면 위의 그림과 같다. 풀이 is_balanced() : 균형잡힌 문자열인지 확인하는 함수: ( 괄호와 ) 괄호의 개수가 같은지 확인 is_correct() : 올바른 문자열인지 확인하는 함수 → 스택(deque 또는 list)을 사용해 이전 요소와 짝이 맞으면(반대되는 괄호이면) 이전 요소를 삭제하고, 짝이 맞지 않으면(동일한 괄호이면) 삽입한다. do_split() : u, v를 쪼개는 함수 ..
[백준] 12865번 - 평범한 배낭 (python)
문제 N개의 물건은 각각 무게 W와 가치 V를 가진다. 최대 K 무게 만큼 가방에 담을 수 있을 때, 물건의 가치 합의 최대값은? 접근법 물건을 쪼갤 수 없는 배낭 문제 (0-1 kanpsack problem)에 속한다. DP 알고리즘으로 풀이한다. 물건을 쪼갤 수 있는 배낭 문제 (fractional knapsack problem)은 무게당 가치가 최대값이 되도록 설정하면 그리디로 최적해를 찾을 수 있다. 물건 4개를 사용해 최대 무게가 5인 가방의 가치가 최대가 되도록 만드는게 목표이다. 이를 NS(ABCD, 5) 라고 표현하겠다. 물건을 모두 사용하는 경우에서 물건을 1개씩 제외해 문제를 줄여나간다. 물건을 가방에 넣는 경우, 안 넣는 경우 2가지가 가능하다. 예를 들어 물건 D를 넣는 경우는 가방..
[프로그래머스] 메뉴 리뉴얼 (Python) / 카카오 2021
문제 문제 링크 각 손님이 주문한 단품 메뉴 중 원하는 개수만큼 메뉴를 조합해 코스 요리를 만드려고 한다. 이 때 코스요리에 속하는 단품 메뉴가 같은 경우에는 단품 주문을 가장 많이 한 조합만 구한다. 접근법 각 손님이 주문한 메뉴로 만들 수 있는 모든 코스요리 조합 구하기 → combinations 사용 각 코스요리의 주문 횟수가 2회 이상 & 코스요리 크기가 course에 해당하는 메뉴 필터링 코스요리 크기가 동일한 요리 중 가장 주문을 많이 한 메뉴만 남긴다. → target에 코스요리 이름만 저장 저장한 메뉴를 알파벳 순서로 정렬해 반환한다. 첫 번째 시도 각 손님의 주문을 탐색하면서: 2 ~ 주문한 음식의 개수 만큼 음식을 선택해 코스요리의 조합을 구한다. 주문 횟수가 2회 이상인 조합 중 음식..
13. UI 요구사항 확인
[ SECTION 13. UI 요구사항 확인 ] ➡ 개발할 시스템에 적용할 UI 관련 요구사항을 조사해 작성하는 단계 순서: 목표 정의- 활동 사항 정의- UI 요구사항 작성 Ⅰ. 목표 정의 ➡ 사용자 대상, 인터뷰를 통해 사업적, 기술적 요구사항을 이해 인터뷰는 개별적으로, 다양한 의견, 사용자 리서치 이전에 수행 리서치: 사용자들의 요구사항이나 불편사항을 파악하기 위해 진행, 리서치 전에 인터뷰를 진행하면 효과적인 리서치를 계획할 수 있음 Ⅱ. 활동 사항 정의 ➡ 조사한 요구사항을 토대로 앞으로 할 활동사항을 정의 목표, 예산, 계획, 우선순위를 협의 필요한 예산과 일정을 결정 인터뷰 내용을 바탕으로 프로젝트에 대해 정확히 이해하고 협의 Ⅲ. UI 요구사항 작성 ➡ 수집된 요구사항을 검토, 분석해 U..
12. UI 설계 도구
[ SECTION 12. UI 설계 도구 ] ➡ 사용자의 요구사항에 맞게 UI의 화면구조, 화면배치를 설계할 때 사용하는 도구 종류: 와이어프레임, 목업, 스토리보드, 프로토타입, 유스케이스 등 Ⅰ. 와이어프레임(Wireframe) 기획 단계의 초기에 제작 페이지에 대한(화면단위로) 대략적인 레이아웃, UI요소의 뼈대를 설계 개발자나 디자이너가 레이아웃을 협의, 진행상황을 공유하기 위해서 사용 ex) 손그림, 파워포인트, 포토샵 Ⅱ. 목업(Mockup) 디자인, 사용방법 설명, 평가를 위해 와이어프레임보다 실제화면에 가깝게 만든 정적인 형태의 모형 ex) 하워 목업, 발사믹 목업 Ⅲ. 스토리보드(Story Board) 와이어프레임+콘텐츠 설명, 페이지간 이동 흐름 설명을 세부적으로 적어둬야 참고할 때 좋..