전체보기
-
플러터 : 단순 호출 예제잡다한 것들 2023. 3. 30. 12:41
dependencies: http: ^0.13.5 import 'package:flutter/rendering.dart'; import 'package:http/http.dart' as http; void main() async { // https://jsonplaceholder.typicode.com/todos/1 final httpsUri = Uri( scheme: 'https', host: 'jsonplaceholder.typicode.com', path: 'todos/1'); var response = await http.get(httpsUri); debugPrint('${response.statusCode}'); debugPrint(response.body); } import 'package:f..
-
플러터 상태관리란잡다한 것들 2023. 3. 28. 06:50
ChatGPT와 대화. 상태관리란? Flutter 앱에서 상태 관리란 앱이 사용자와 상호작용하면서 변경되는 데이터를 관리하는 것입니다. 예를 들어, 앱에서 현재 선택된 항목, 사용자 로그인 상태, 화면에 표시될 데이터 등이 모두 상태에 해당합니다. 상태 관리를 효율적으로 수행하지 않으면, 코드가 복잡해지고 유지보수가 어려워지는 등의 문제가 발생할 수 있습니다. Flutter에서 상태 관리는 다양한 방법으로 수행할 수 있습니다. 가장 기본적인 방법은 StatefulWidget을 이용하여 상태를 관리하는 것입니다. StatefulWidget은 상태가 변경될 수 있는 위젯입니다. StatefulWidget을 사용하면, 해당 위젯은 불변(immutable)하며, 상태는 해당 위젯에 의해 관리됩니다. 상태 변경에..
-
Mac OS / VS-Code / 코틀린 설정잡다한 것들 2023. 3. 25. 17:26
안드로이드 스튜디오 설치 안드로이드 스튜디오 내의 자바를 이용하자. 환경변수 추가 nano .zprofile PATH="/Applications/Android Studio.app/Contents/jbr/Contents/Home/bin:${PATH}" export PATH 코틀린 컴파일러 다운로드 및 압축 해제 VS-CODE 설치 Kotlin Language 플러그인 추가 Code Runner 플러그인 추가 "code-runner.executorMapByFileExtension": { ".kt": "cd $dir && /Users/____/Documents/kotlinc/bin/kotlinc $fileName -include-runtime -d $fileNameWithoutExt.jar && java -j..
-
프로그래머스 / 광물 캐기코딩 테스트/Level 2 2023. 3. 24. 15:21
https://school.programmers.co.kr/learn/courses/30/lessons/172927 파이썬 제안사항을 확인하니 재귀를 이용해도 될 정도 def solution(picks, minerals): def solve(picks, minerals, fatigue): if sum(picks) == 0 or len(minerals) == 0: return fatigue result1 = result2 = result3 = float('inf') if picks[0] > 0: fatigues = {"diamond": 1, "iron": 1, "stone": 1} next_fatigue = sum(fatigues[mineral] for mineral in minerals[:5]) resu..
-
프로그래머스 / 공원 산책코딩 테스트/Level 1 2023. 3. 24. 00:01
https://school.programmers.co.kr/learn/courses/30/lessons/172928 파이썬 def solution(park, routes): position = [0, 0] for i, row in enumerate(park): for j, each in enumerate(row): if each == 'S': position = [i, j] directions = {'E': (0, 1), 'W': (0, -1), 'N': (-1, 0), 'S': (1, 0)} for direction, distance in map(lambda x: x.split(), routes): prev_pos = position.copy() for _ in range(int(distance)): ..
-
프로그래머스 / 리코쳇 로봇코딩 테스트/Level 2 2023. 3. 17. 16:06
https://school.programmers.co.kr/learn/courses/30/lessons/169199 주의할 점. 목표도 통과해 버린다. 목표에 멈출 수 있어야 성공~! 파이썬 def solution(board): que = [] for x, row in enumerate(board): for y, each in enumerate(row): if each == 'R': que.append((x, y, 0)) visited = set() while que: x, y, length = que.pop(0) if (x, y) in visited: continue if board[x][y] == 'G': return length visited.add((x, y)) for diff_x, diff_y ..
-
프로그래머스 / 당구 연습코딩 테스트/Level 1 2023. 3. 17. 11:27
https://school.programmers.co.kr/learn/courses/30/lessons/169198 경계면을 기준으로 '접힌 상태를 편다'라고 생각하면 간단하다.. '피타고라스의 정의'를 이용해 거리를 계산. 파이썬 def solution(m, n, sx, sy, balls): return [ min((sx - x) ** 2 + (sy - y) ** 2 for x, y in ((-bx, by), (bx, -by), (2 * m - bx, by), (bx, 2 * n - by)) if not ((sx == bx and (sy > by > y or sy bx > x or sx < bx < x))) ) for bx, by in bal..
-
프로그래머스 / 리틀 프렌즈 사천성코딩 테스트/Level 3 2023. 3. 5. 22:03
https://school.programmers.co.kr/learn/courses/30/lessons/1836 자바 1. Sort를 해야하니 TreeMap을 이용하자. 2. 길을 찾을 때 ㄱ 방향, ㄴ 방향을 고려해야 한다. 3. 구현 문제다. import java.util.*; class Solution { char[][] board; public String solution(int m, int n, String[] board) { this.board = new char[m][n]; var pairs = new TreeMap(); for (var i = 0; i < m; i++) for (var j = 0; j < n; j++) { var temp = board[i].charAt(j); this.bo..