목록분류 전체보기 (591)
어흥
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWlGyBQqaEgDFASG SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - Check[idx] 배열을 만들어서 값을 기록해놓는다(idx의 경우 최대 몇 번의 Turn이 가능한지) 2. 구현 - 초기에 Check[] 배열을 전부 -1로 초기화하고 한 자리 숫자는 0으로 초기화 한다 - DFS(Sum,Tot,Ss,V)를 통해 해당 Ss를 몇 부분으로 쪼갤 수 있는지 벡터 V에 담는다 - Sum==Tot인 경우, V의 Size가 1..
문제 링크: https://swexpertacademy.com/main/code/userProblem/userProblemDetail.do?contestProbId=AWKaG6_6AGQDFARV SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 주의할 점 - 매 TC마다 초기화를 해야 한다 - Check[][] 배열을 최대값으로 초기화한다 - 결승 지점에 도착하지 못하면 -1을 출력한다 2. 구현 - BFS를 통해 구현한다 - 다음으로 이동하려는 칸이 0이라면, Check[][] 배열을 비교하여 현재 시간(Cv)+1보다 크다면 이동 - 다음으로 이동하려는 칸이 2라면(소용돌이), 현재 시간을 3으로 나눴을때..
1. MVC 패턴 - Model, View, Controller - Model: 프로그램이 작업하는 세계관의 요소들을 개념적으로 정의한 것 (DTO, DAO로 분류된다) - View: 사용자가 보는 화면에 입출력 과정 및 결과를 보여주기 위한 역할을 수행한다 - Controller: 도메인 객체들의 조합을 통해 프로그램의 작동 순서나 방식을 제어한다 - MainActivity -> View, Data(Item) -> Model, Adapter -> Controller 2. 컴포넌트 - Activity: UI를 관리하고, 사용자의 다양한 이벤트를 처리하는데 사용된다 - Service: 화면에서 보이지 않고, 백그라운드에서 처리하는데 사용된다(Ex. 멜론) - Broadcast Receiver: 안드로이드에..
보호되어 있는 글입니다.
문제 링크: https://www.acmicpc.net/problem/14003 14003번: 가장 긴 증가하는 부분 수열 5 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) www.acmicpc.net 1. 주의할 점 - Arr[] 배열을 Long Long 타입으로 받는다 - DP[] 배열에 가장 긴 증가하는 부분 수열이 저장되어 있는 것이 아니다 2. 구현 - 모든 수를 Arr[]배열에 입력받고, Dp[0]=Arr[0], Idx=0, Ans[0].idx=0, Ans[0].val=Arr[0]으로 초기화 하고 시작한다 - For문을 1~Num-1까지 돌리..
문제 링크: https://www.acmicpc.net/problem/12738 12738번: 가장 긴 증가하는 부분 수열 3 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,000,000,000) www.acmicpc.net 1. 주의할 점 - 이분탐색을 사용하는 LIS에 대해 알고 있어야 한다. - 가장 긴 증가하는 부분 수열 2와 풀이 방법은 같다. 다른점은 모든 변수를 Int가 아닌 Long Long으로 받아들인다. 풀이 방법: https://imnotabear.tistory.com/183 [백준 12015] 가장 긴 증가하는 부분 수열 2 (C++) 문제 링크: htt..
문제 링크: https://www.acmicpc.net/problem/12015 12015번: 가장 긴 증가하는 부분 수열 2 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000,000) www.acmicpc.net 1. 주의할 점 - 직전의 게시물과 같이 N^2의 시간복잡도를 지니는 방법으로는 TLE가 난다 - 이분탐색을 사용하여 NlgN의 시간복잡도를 지니게 한다 2. 구현 - 모든 배열에 대한 정보를 Arr[] 배열에 저장하고 Dp[0]= Arr[0], idx=0으로 초기화한다 - i: 1~Num-1까지 For문을 수행하며, Dp[idx]< Arr[i]인 경우, 무조건 추가한다 - 이외의 경..
문제 링크: https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 1. 주의할 점 - DP처럼 진행한다 - 가장 긴 증가하는 부분 수열을 어떤 방식으로 담을 건지 생각한다 2. 구현 - 배열을 입력받으면서, Result[]배열도 초기화 작업을 한다 - i: 1~Num-1, j: 0~i-1까지 반복하면서 Arr[i]>Arr[j]를 만족한다면 Result 배열의 인자를 비..