목록전체 글 (89)
HS_development_log
MVP : Model, View, Presenter 1. MVP란? UI(View)와 비즈니스 로직(Model)을 분리하고, 서로 간에 상호작용을 다른 객체(Presenter)에 그 역할을 줌으로써 서로의 영향(의존성)을 최소화 하는 디자인 패턴 입니다. 2. MVP의 구조 2.1. Model * 프로그램 내부적으로 쓰이는 데이터 저장 및 처리 * View 와 Presenter 등 다른 어떤 요소에도 의존적이지 않은 독립적인 영역 2.2 View * UI를 담당하며 Activity, Fragment 등이 있다 * Model에서 처리된 데이터를 Presenter를 통해 받아서 유저에게 보여줌 * 유저 액션 및 라이프사이클 상태 변경을 주시하며 Presenter에 보내는 역할 * Presenter을 이용해 ..
1. 문제 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 2. 접근 BFS문제다. 근데 구해야 하는 경우의 수가 2가지다. 적록색약일 때는 색구분을 2개로 하고, 적록색약이 아닐 때는 색구분을 3개로 해주면 된다. 적록색약 배열, 적록색약 아닐 때 배열 2가지를 만들어서 각각 처리해주면 된다. 3. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ public static ..
1. 문제 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 2. 접근 주어진 LZW압축 과정을 그대로 따라가면 되기 때문에 크게 어려운 점은 없었다. 색인번호와 단어가 짝을 이뤄서 저장되기 때문에 HashMap을 활용했다. contains도 O(1)로 빠르기도 하고.. 만약 map에 포함되어 있지 않다면 map에 추가하고 포함되어있다면 그걸 그대로 사용했다. 3. 코드 import java.util.ArrayList; import java.util.HashMap; class Solution { public int[] solution..
1. 문제 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 2. 접근 배열의 모든 인접 요소를 확인해야 되는 완전 탐색 문제다. 하나의 요소를 기준으로 아래, 오른쪽, 오른쪽아래 대각선만 확인하는 방식으로 탐색을 진행했다. 배열의 크기가 M*N이므로 M-1,N-1까지만 반복문을 돌리면 됐다. i) 만약, 조건을 만족해서 지울 수 있는 블록을 발견할 경우 바로 지우지 않고 위치만 기억해 두고 끝까지 탐색을 계속했다. 탐색하는 도중 지워버리면 다른 인접 요소에 영향을 받아 예외가 생길 수 ..