본문 바로가기

분류 전체보기

(370)
[Flutter] 페이지 이동 - 네비게이터(Navigator) 이해하기 페이지 이동 기능을 구현하기 위해서는 먼저 Route와 Navigator의 개념을 이해해야 한다. Route? 단순히 스마트폰에서 하나의 페이지, 화면. Scaffold 위젯을 리턴하는 모든 커스텀 위젯 하나하나가 route이다. Navigator? 모든 앱페이지들(Routes)을 관리하며 stack 자료구조 형식으로 route 객체들을 관리한다. 이 stack 자료구조를 관리하기 위해서 Navigator.push와 Navigator.pop이라는 메서드를 제공한다. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(B..
[Flutter] Toast message Toast message를 구현하려면 fluttertoast라는 라이브러리를 import 해야 한다. 기본적으로 내장되어 있는 flutter/material.darg 라이브러리 파일과 달리 fluttertoast 라이브러리는 따로 등록을 해서 불러오는 과정을 거쳐야 한다. 먼저, pubspec.yaml 파일 cupertino_icons 밑에 아래 코드를 복사해서 추가한다. fluttertoast: ^8.0.8 8.0.8은 현재 fluttertoast의 버전이다. (2022.01.23 기준) the plugin `fluttertoast` uses a deprecated version of the android embedding. 라는 오류가 발생한다면 플러터 공식문서(https://pub.dev/packa..
[Python] 딕셔너리, 딕셔너리 함수 딕셔너리 - "이름" = "홍길동", "생일" = "월~일" 등으로 구별할 수 있는 대응 관계를 나타내는 자료형 - 연관 배열(Associative array), 해시(Hash) - 딕셔너리는 key와 Value를 한 쌍으로 갖는 자료형 - 리스트나 튜플처럼 순차적으로(sequential) 해당 요솟값을 구하지 않고 key를 통해 Value를 얻음 딕셔너리 구조 딕셔너리명 = {key1:value1, key2:value2, key3:value3, ... } - key와 value 쌍 여러 개가 { }로 둘러싸여 있음 - 요소는 key:value 형태로 이루어져 있고 콤마(,)로 구분 - key는 변하지 않는 값을 사용, value는 변하는 값과 변하지 않는 값 모두 사용 >>> a = {1:'hi'} >..
[Python] 튜플 (인덱싱과 슬라이싱, 연산하기) 튜플 튜플은 몇 가지 점 제외하고는 리스트와 거의 비슷하다. - 리스트 : 대괄호 [ ]로 표현 / 값 생성, 삭제, 수정이 가능 - 튜플 : 소괄호 ( )로 표현 / 값을 바꿀 수 없음 >>> t1 = () >>> t2 = (1, ) >>> t3 = (1, 2, 3) >>> t4 = 1, 2, 3 >>> t5 = ('a', 'b', ('ab', 'cd')) ※ 1개의 요소만을 가질 때는 요소 뒤에 콤마(,)를 반드시 붙여야 함 → 콤마를 붙이지 않으면 숫자 하나를 변수에 대입하는 것 ※ 괄호( )를 생략 가능 튜플 인덱싱 >>> t1 = (1, 2, 'a', 'b') >>> t1[0] 1 >>> t1[3] 'b' 튜플 슬라이싱 >>> t1 = (1, 2, 'a', 'b') >>> t1[1:] (2, '..
[프로그래머스] 두 개 뽑아서 더하기 (C++) https://programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr #include #include #include using namespace std; vector solution(vector numbers) { vector answer; for(int i = 0; i < numbers.size(); i++){ for(int j = i + 1; j < numbers.size();..
[Flutter] BuildContext 이해하기 Flutter 공식 문서를 살펴보면 BuildContext에 대한 두 가지 정의를 찾을 수 있다. 1 A handle to the location of a widget in the widget tree. 위젯 트리에서 위젯의 위치를 다루는 것 Widget build(BuildContext context){ // ... return Scaffold(...) } 먼저 알아야 할 것은 Flutter 안의 모든 Widget은 내부에 build 메서드를 가지고 있다는 것이다. build 메서드는 widget tree 상에서 어디에 위치하는지에 대한 정보를 가지고 있는 context를 넣어 Scaffold Widget 리턴한다. 2 Each widget has its own BuildContext, which be..
[BOJ] 1914번 하노이 탑 (C++) https://www.acmicpc.net/problem/1914 1914번: 하노이 탑 세 개의 장대가 있고 첫 번째 장대에는 반경이 서로 다른 n개의 원판이 쌓여 있다. 각 원판은 반경이 큰 순서대로 쌓여있다. 이제 수도승들이 다음 규칙에 따라 첫 번째 장대에서 세 번째 장대로 www.acmicpc.net #include #include #include using namespace std; void move(int no, int x, int y){ if(no > 1) move(no - 1, x, 6 - x - y); cout
[BOJ] 10826번 피보나치 수 4 (C++) https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net #include #include #include using namespace std; int n; string dp[10001]; string big_num_sum(string a, string b){ int sum; string s; vector v, num1, num2; if(a.size() < b.size()){ string tmp = a; a = b;..