2024/12/27 2

[Flutter] Stateful 위젯이 두 개의 클래스로 나눠진 이유

Flutter 앱을 구성하는 위젯은 Stateful 위젯과 Stateless 위젯으로 구분할 수 있다. 이렇게 구분하는 이유는 효율적인 상태 갱신을 위해서이다. 예를 들어 도움말 페이지는 사용자에 의해 화면이 바뀔 내용이 거의 없이 정적으로 화면을 보여주면 된다. 이런 경우 StatelessWidget 클래스를 상속받아서 위젯을 만든다. 하지만 마이페이지에서 이름을 변경하면 변경된 이름으로 화면이 갱신되어야 할 것이다. 이런 경우 StatefulWiddget을 상속받아서 만든다. 앱이 위젯의 상태를 감시하고 있다가 위젯이 특정 상태가 되면 알맞은 처리를 수행해야 한다. 상태가 연결된 동적인 위젯이 StatefulWidget이다. Stateful 위젯은 계속 상태를 지켜봐야하므로 그만큼 메모리나 CPU 등..

Flutter 2024.12.27

[Boj] 백준 C++ #1202 보석 도둑

📍문제 링크https://www.acmicpc.net/problem/1202 📍알고리즘 분류그리디, 우선순위 큐 📍 풀이 방법최대한 많은 보석을 훔치기 위해서는 최대한 비싼 보석을, 많이 담아야 한다.따라서 비싼 보석부터 담아야 하는데, 최대로 용량을 채울 수 있는 가방에 넣어야 한다.반복문을 통해 가방을 하나씩 그리디하게 보면서 넣을 보석을 정해준다.우선순위 큐를 이용해서 하나의 가방 안에 들어갈 수 있는 무게의 보석들 중 가격이 가장 비싼 것을 담으면 된다. 어떤 가방부터 보아야할까?용량이 큰 가방부터 본다면, 비싼데 크기가 작은 보석이 용량이 큰 가방에 담길 것이다. 더 보석을 가져갈 수 있을텐데 용량이 낭비될 것이다.따라서 용량이 작은 가방부터 탐색한다. 작은 가방에 담기는 무게 중에서 비싼..

Boj 2024.12.27