일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 빅스비
- 최대유량
- JOIN
- Network Flow
- DP
- 삼성
- backjoon
- 이분탐색
- 완전탐색
- BOJ
- SWTest
- 후기
- maximum flow
- 빅스비 스튜디오
- SDS 알고특강
- 프로그래머스
- Baekjoon
- INNER JOIN
- 메모이제이션
- 최대 유량
- 백준
- 코딩테스트
- 네트워크 플로우
- 알고리즘
- 분할정복
- SQL
- ICPC
- bixby studio
- SWEA
- 세그먼트트리
- Today
- Total
목록분류 전체보기 (90)
답은 알고리즘 뿐이야!
두번째인 비즈니스 로직(Code)부분에 대해 설명하겠습니다. 비즈니스 로직은 데이터 처리방식을 정의하는 단계입니다. 비즈니스 로직은 크게 JavaScript Library와 Action JavaScript로 나눌수 있습니다. 사실 비즈니스 로직 부분은 자바스크립트 그 자체라 자바스크립트 공부를 하시는게... 크흠흠 비즈니스 로직에서 사용되는 자바스크립트의 버전은 ES6이전 버전입니다 또한 기존 자바스크립트 보다 폐쇄적이여서 외부 라이브러리를 긁어올 수 없습니다. 향후 몇년(?)간은 자바스크립트 버전 업데이트 의사가 없다는... O Action JavaScript ActionJavaScript는 액션에서 정의한 인풋과 아웃풋을 처리하는 Script 입니다. 간단하게 어떻게 데이터가 다뤄지는지 설명해 드리겠..
빅스비 개발은 크게 4가지로 나눌 수 있습니다. 1. 모델링 2. 비즈니스 로직 (Code) 3. 뷰, 레이아웃 4. 트레이닝 우선 첫번째 모델링 부터 설명하겠습니다. 모델링은 Concept과 Action을 정의하는 단계입니다. O Concept Concept은 크게 Primitive와 Structure로 나눌 수 있습니다. Primitive는 다른언어의 Integer, String, Boolean 처럼 기본적인 자료형을 말합니다. Bixby Studio 안에서는 Integer, Decimal, Enum, Name, Text로 나뉩니다. 여기서 저는 Integer, Enum, Text만 사용해서 프로젝트 구현을 하였습니다. Primitive의 생성은 우클릭 -> New -> Model을 선택하시면 됩니다..
얼마전에 빅스비 캡슐 챌린지 시즌2 라는 공모전이 있다는 사실을 알게 되었습니다. SWEA 사이트에 빅스비 강의가 생겨서 흥미가 생겼었는데 마침 공모전이 있다고 해서 바로 참가 신청을 하게 되었습니다. 자 이제 신청을 했으니 개발을해야지 ~~^^ 우선 빅스비 캡슐 개발은 빅스비 스튜디오로 진행하게 됩니다.다 빅스비 스튜디오 다운로드는 https://bixbydevelopers.com에 들어가면 정문에 떡하니 있습니다. 다운로드 하실때 기본 세팅 대로 다운로드 받으시면 됩니다. 다음 포스팅에서는 빅스비 개발을 위해 익혀둬야할 기본 개념들에 대해 설명해 보겠습니다.
문제 출처 : https://www.acmicpc.net/problem/9095 풀이 : DP문제입니다. 1, 2, 3으로 새로운 방법을 만들 수 있는 경우는 i-1인 경우 : + '1' i-2인 경우 : + '2' i-3인 경우 : + '3' 이 세가지 경우 입니다. 따라서, cache[i] = cache[i-1]+cache[i-2]+cache[i-3]대로 쌓으면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include int t,n,cache[11]; int main() { scanf("%d", &t); cache[1] = 1, cache[2] = 2,cache[3] =4; for (int i = 4; i
문제 출처 : https://www.acmicpc.net/problem/17521 풀이 : 2019 ICPC 예선문제입니다. 모든 정보를 알기 때문에 최대의 이익을 뽑아내기 위해서는 항상 저점 매입해서 고점에서 매도하면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include int n, arr[16], ma, mi; long long int k; int main() { scanf("%d %lld", &n, &k); for (int i = 0; i
문제 출처 : https://www.acmicpc.net/problem/16283 풀이 : 간단한 산수 문제입니다. 양을 1~N-1마리 염소를 N-1~1마리로 두고 포문을 돌리면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include int a, b, n, w, ret1, ret2; int main() { scanf("%d %d %d %d", &a, &b, &n, &w); for (int i = 1; i
문제 출처 : https://www.acmicpc.net/problem/16287 풀이 : 4개의 무게의 합이 w가 되는 조합이 있는지 물어보는 문제입니다. 단순하게 생각하면 nC4로 4중포문을 도는 방법을 생각 할 수 있겠지만, 이방법은 N이 5000이니 거의 불가능 하다고 판단이 됩니다. 그러므로 one + two + three + four = w 의 형식을 살짝 바꿔서 one + two = w - three - four 의 형식으로 바꿉니다. 그러면 one + two를 구하는 문제로 바뀌게 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include int w, n, arr[5000], wei[800000]; int main()..
문제 출처 : https://www.acmicpc.net/problem/16288 풀이 : K개 이하의 서로다른 증가수열을 구성할 수 있는지를 묻는 문제입니다. K개 만큼의 수열을 구성하고 K개의 순열 중 현재 값보다 작으면서 최대의 값을 현재 값으로 바꾸면서 수열을 구성하면 됩니다. 수열의 갯수가 K개를 넘어가는 순간 NO를 출력하고 수열의 갯수가 K개 이하가 되면 YES를 출력합니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 #include int n, k, arr[100], karr[100], max, idx; int main() { scanf("%d %d", &n, &k);..
문제 출처 : https://www.acmicpc.net/problem/2343 풀이 : 이분 탐색 문제입니다. 블루레이의 길이를 기준으로 이분탐색을 돌아 가능한 모든 경우의수를 다 시도해봅니다. 이분 탐색을 돌 때 left와 right를 기준으로 도는데, 1. Mid 값이 문제조건을 만족 할 때, (즉, Mid값을 블루레이의 길이로 잡고 M을 채울때 M개 안에 다 채워 질 때) - binary( left , Mid - 1 ) 2. Mid 값이 문제 조건을 만족 시키지 못 할 때, - binary( Mid + 1, right ) 위와 같이 탐색하시면 됩니다. O(n) * O(logn) 으로 총 O(nlogn)의 시간복잡도를 가집니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ..
문제 출처 : https://www.acmicpc.net/problem/5430 풀이 : 큐 문제입니다. 이 문제는 배열을 자주 뒤집어야 하는데 말 그대로 뒤집기만 하면 타임오버가 납니다. front 와 rear의 위치만 바꿔 주어 O(1)로 뒤집은 듯한 효과를 내시면 됩니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include struct reverse_queue { int data[100001]; int front, r..