반응형

Study 52

2. Reactive Programming

오늘은 Reactive Programming에 대해서 알아보도록 하자. Reactive Programming이란 Reactive programming is programming with asynchronous data streams. 비동기 데이터스트림을 이용한 프로그래밍하는 것을 말한다. 비동기란 동시에 진행되지 않는 것을 뜻하고, 데이터 스트림이란 데이터의 양이 한정되어 있지 않고 지속적으로 생성되고 시간에 따라 값이 변하는 데이터의 흐름이라는 뜻이다.(비동기에 더 자세한 내용은 앞전 포스팅을 참고하기 바란다. https://pcseob.tistory.com/35) 그러면 Reactive Manifesto(선언문)은 어떤 내용 일까? https://www.reactivemanifesto.org/ Th..

Study/기타 2022.01.18

8. 백준 코딩테스트 2798번 문제 python

이번에는 브루트포스(Brute force)의 문제 블랙잭을 풀어보았다. 정답률은 45.6%정도로 다소 높은편이다. https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 들어가기 전. 브루트포스(Brute Force)는 조합 가능한 모든 경우를 대입하는 해결법을 말한다. 간단하게 4자리 비밀번호를 맞추기 위해서 0000~9999까지 모든조합을 대입하는 방법을 브루트포스라고 한다. 블랙잭이란 카드게임은 숫자카드에 쓰여있는..

Study/백준코테 2022.01.12

1. Asynchronous 비동기

이번에 포스팅할 주제는 비동기에 대해서 포스팅해보도록 하겠다. 반응형 프로그래밍을 설명하기 위해서는 비동기에 대한 내용은 필수적이고, 내 블로그에 곳곳에 보면 비동기에 관련된 글이 있지만, 프로그래밍을 위한 글이라 자세하게 작성하지 않아서 이번에 제대로 작성하도록 하겠다. Asynchronous 비동기 비동기란 비동기와 스레드 1. Asynchronous 비동기 Asynchronous 비동기의 사전적 의미는, "not occurring at the same time", 동시에 발생하지 않는 이라는 뜻이다. 일반적으로 우리가 프로그래밍을 한다면, 순차적(Synchronous)으로 진행이 된다. print(1) print(2) print(3) print(4) 예를 들어 위와 같은 코드가 있다고 하자. 실행을..

Study/기타 2021.11.25

9. Flutter 상태관리법 Riverpod 0.14.0 그리고 firebase (2, ChangeNotifier)

이번 포스팅은 상태 관리법 Riverpod 0.14.0 버전을 어떻게 사용하는지 알아보도록 하자. 목차 Flutter의 상태관리 Riverpod 0.14.0 Riverpod의 기본 사용법 pubspec.yaml, import 그리고 main Riverpod ChangeNotifier 오늘은 Flutter의 상태 관리 중 Riverpod이다. 단순한 Riverpod사용법은 아래 링크에 아주 자세하게 되어있으니 한번 꼭 보도록 하고, 여기 포스팅에서는 Firebase의 RealtimeDatabase를 가져오는 코드로 설명하도록 하겠다. https://www.youtube.com/watch?v=atwWbkBdepE&t=647s&pp=ugMICgJrbxABGAE%3D 내가 이해한 것 그리고 내가 사용했던 코드들..

Study/Dart,Flutter 2021.11.11

8. Dart, Flutter 상태관리 그리고 Riverpod (1)

이번 포스팅은 상태 관리법 중 하나인 Riverpod 알아보도록 하자. 이론적인 내용이므로 만약 코드에 바로 사용할 방법을 찾는다면 다음 포스팅을 읽으면 된다. 목차 Flutter의 상태관리 Flutter의 상태 관리 Ephemeral state와 App state Riverpod과 Provider의 차이점 1. Flutter의 상태관리 Flutter의 상태 관리란, 데이터의 상태라고 생각해도 좋다. 현재 데이터에 맞게 화면을 변경해주고 유저의 반응에 대응해주기 위해서 필요하다. 하지만 모든 데이터를 관리해야 하나 그것은 아니다. 어떤 상태(데이터)이냐에 따라 Ephemeral(일시적) state, App state로 나뉘게 된다. 공식문서 링크는 아래를 참고하면 된다. https://flutter.de..

Study/Dart,Flutter 2021.10.28

7. 백준 코딩테스트 10250번 문제 python

이번에는 기본 수학 1에 관련된 문제에서 제목이 'ACM 호텔'로 되어있는 문제를 풀었다. 정답률이 34%대이다. https://www.acmicpc.net/problem/10250 10250번: ACM 호텔 프로그램은 표준 입력에서 입력 데이터를 받는다. 프로그램의 입력은 T 개의 테스트 데이터로 이루어져 있는데 T 는 입력의 맨 첫 줄에 주어진다. 각 테스트 데이터는 한 행으로서 H, W, N, 세 정수 www.acmicpc.net 호텔에서 사람을 배정하는 방식은 엘레베이터에서 가까운 호수에서 아래층부터 사람들을 배정하기 시작한다. 즉 엘리베이터를 바닥에 눕힌 형태로 본다면 우측 하단부터 좌측으로 하나씩 놓고 다 놓았다면 다시 우측에서부터 한 칸씩 쌓는다고 생각하면 편하다. 문제에서 방의 번호는 YX..

Study/백준코테 2021.09.23

6. 백준 코딩테스트 2839번 문제 python

이번에는 기본 수학 1에 관련된 문제에서 제목이 '설탕 배달'로 되어있는 문제를 풀었다. 정답률이 33%대이다. https://www.acmicpc.net/problem/2839 2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 이 문제를 읽어보면 특정 N에 대한 무게가 들어오면 3KG과 5KG으로 나누어서 최소한 배달할 수 있는 개수를 출력하는 문제이다. 이 문제를 접근하는 방식이 다양하겠지만, 나는 최솟값을 구하는 것을 중점으로 풀었다. 최솟값을 구하기 위해서는 최대한 많은 양을 5KG으로 나누고 나머지를 3KG으로 ..

Study/백준코테 2021.09.23

5. 백준 코딩테스트 2869번 문제 python

이번에는 기본 수학 1에 관련된 문제에서 제목이 '달팽이는 올라가고 싶다'으로 되어있는 문제를 풀었다. 정답률이 28%대이다. https://www.acmicpc.net/problem/2869 2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 코딩에 들어가기 앞서 관계식을 따져보자. 나무 막대 길이를 V라고 하고 달팽이가 낮에 올라가는 길이를 A 밤에 미끄러지는 B 라고 하고, 달팽이가 올라간 수를 n이라고 하자. 이때 달팽이가 n일만큼 올라갔다고 했을 때 나오는 관계식은 다음과 같다. $$A*n - B*(n-1)$$ n에 관련된 식으로 정리한 후 나무 막대 길이 부등..

Study/백준코테 2021.09.18

4. 백준 코딩테스트 1712번 문제 python

이번에는 기본 수학 1에 관련된 문제에서 제목이 '손익분기점'으로 되어있는 문제를 풀었다. 정답률이 25%대이다. https://www.acmicpc.net/problem/1712 1712번: 손익분기점 월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 www.acmicpc.net 바로 코딩에 들어가기 전, 수식을 구해보자. 고정 가격은 a 가변 가격은 b 물품 가격은 c 판매대수를 n이라고 한다면, 손익분기점에 관련된 식은 다음과 같다. $$ a+b*n 0$$ 항상 부등호가 성립하지 않는 경우, 즉 좌변이 항상 0보다 작거나 같을 때 일 것이다. 그리고 n이 점점 ..

Study/백준코테 2021.09.16

3. 백준 코딩테스트 1157번 문제 python

이번에는 문자열 관련된 문제에서 제목이 '단어 공부'로 되어있는 문제를 풀었다. 정답률이 39%대여서 풀어보기로 했다. https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 아래에는 내가 풀은 답이다. receive_string = input() #받은 모든 문자를 대문자로 치환 receive_string = receive_string.upper() #문자 카운트하는 table 변수 선언 hash_table = {} #가장 많이 입력된 횟수를 저장하는 변수 선언 counter = 0..

Study/백준코테 2021.09.15
반응형