분류 전체보기
-
Flutter + Spring Boot 가족, 모임 서비스 구현하기 3.1 (Feat. UI 구현)Flutter 2023. 10. 24. 11:16
가족, 모임 서비스 구현 중 Flutter로 UI 구성 시 있었던 시행착오들을 글로 작성해보려고 합니다. 구현 중 알게 된 점들이나, 트러블슈팅 과정들이 섞여 있어 글이 매끄럽지 않을 수 있다는 점 양해 부탁드립니다.🥲 1. Flutter 통신 Flutter에서 통신을 위해서는 http 패키지를 추가해줘야 합니다. pubspec.yaml dependencies: ... http: ^1.1.0 http 패키지를 pubspec.yaml에 추가해줍니다. 만약 Api 통신을 하게 된다면 반환받을 데이터가 있을 경우 json을 다시 객체 형태로 바꿔주는 작업이 필요할 수 있습니다. (Map 자료구조를 사용한다면 이 작업이 필요없을 수 있습니다.) 저와 같은 경우 Api 요청 시 반환 받을 값들을 모두 dto로 선..
-
백준 23289번 온풍기 안녕! (Python)알고리즘 2023. 10. 14. 12:30
R*C인 격자판에 온풍기를 놓고 바람을 통해 각 칸을 따듯하게 할 때, 조사하려는 모든 칸의 온도가 K 이상이 될 때까지 먹는 초콜릿의 개수를 구하는 문제입니다. 가장 처음 모든 칸의 온도는 0도 입니다. 다음과 같은 순서대로 작업이 시행됩니다. 1. 집에 있는 모든 온풍기에서 바람이 한 번 나옵니다. 2. 온도가 조절됨 3. 온도가 1이상인 가장 바깥쪽 카의 온도가 1 감소 4. 초콜릿을 하나 먹는다 5. 조사하는 모든 칸의 온도가 K 이상이 되었는지 검사. 모든 칸의 온도가 K이상이면 테스트를 중단하고, 아니면 1부터 다시 시작합니다. 1. 바람이 나오는 과정 바람이 나오는 방향이 오른쪽이라면 위의 예시처럼 바람이 나오게 됩니다. (x,y)에 온풍기 바람이 도착해 온도가 k만큼 상승한다면, (x-1,..
-
백준 17825번 주사위 윷놀이 (Python)알고리즘 2023. 10. 13. 10:30
문제에서 주어진 게임판에서 주사위 윷놀이를 하는 게임입니다. 시작 칸에서 말 4개가 출발합니다. 말은 게임판에 그려진 화살표대로 이동할 수 있습니다. 단, 파란색 칸에서 출발하면 파란색 화살표를 타야합니다. 말이 도착 칸에 도달하면 주사위에 나온 수와 관계 없이 이동을 마칩니다. 게임은 10개의 턴으로 진행됩니다. 매 턴마다 1~5가 적혀있는 5면체 주사위를 굴리고, 도착 칸에 있지 않은 말을 하나 골라 주사위에 나온 수만큼 이동시킵니다. 말이 이동을 마치는 칸에 다른 말이 있으면 그 말을 고를 수 없습니다. 단, 이동을 마치는 칸이 도착 칸이면 고를 수 있습니다. 말이 이동을 마칠 때마다 적혀있는 수가 점수에 추가됩니다. 주사위에서 나오는 수 10개를 미리 알고 있을 때, 구할 수 있는 점수의 최대값을..
-
백준 17822번 원판 돌리기 (Python)알고리즘 2023. 10. 12. 12:32
N개의 원판을 돌리면서 조건에 맞는 번호를 지운 뒤 원판에 적혀있는 숫자의 총합을 구하는 문제입니다. 원판은 크기가 작아지는 순서대로 놓여있고, 원판의 중심은 모두 같습니다. 원판의 반지름이 i이면, 그 원판은 i번째 원판이라고 합니다. 각각의 원판에는 M개의 정수가 적혀있고, i 번째 원판에 적힌 j번째 수의 위치를 (i,j)로 표현합니다. 각 위치는 다음을 만족합니다. (i, 1)은 (i, 2), (i, M)과 인접하다. (i, M)은 (i, M-1), (i, 1)과 인접하다. (i, j)는 (i, j-1), (i, j+1)과 인접하다. (2 ≤ j ≤ M-1) (1, j)는 (2, j)와 인접하다. (N, j)는 (N-1, j)와 인접하다. (i, j)는 (i-1, j), (i+1, j)와 인접하다..
-
백준 21611번 마법사 상어와 블리자드 (Python)알고리즘 2023. 10. 11. 13:03
N*N 격자 상에서 마법사가 마법을 부릴 때, 폭파한 구슬의 번호의 개수를 센 뒤, 1*(폭발한 1번 구슬의 개수)+2*(폭발한 2번 구슬의 개수)+3*(폭발한 3번 구슬의 개수)를 구하는 문제입니다. N은 항상 홀수이고 맨 위 왼쪽 칸을 (1,1)이라 할 때, 마법사의 위치는 ((N+1)/2 , (N+1)/2)입니다. 위의 격자에서 점선은 지나갈 수 있는 길을 말하고 실선은 지나갈 수 없는 벽을 뜻합니다. 각 격자에는 1,2,3번 구슬이 한 개씩 들어있습니다. 단계 1. 얼음 파편으로 구슬을 파괴하는 단계입니다. 이 마법은 방향 di와 거리 si로 나타낼 수 있습니다. 방향은 (상, 하, 좌, 우)를 순서대로 1,2,3,4로 나타냅니다. 거리는 1 ≤ si ≤ (N-1)/2 의 크기를 가지고 있습니다...
-
백준 14890 경사로 (Python)알고리즘 2023. 10. 10. 11:36
크기가 N * N 인 지도에서 각 행과 열마다 길을 놓을 수 있을 때 조건에 맞게 만들 수 있는 길의 개수를 구하는 문제입니다. 길이 완성되는 조건은 다음과 같습니다. 길을 지나갈 수 있으려면 길에 속한 모든 칸의 높이가 같아야 합니다. 높이가 차이나는 길은 경사로를 놓아서 길을 만들 수 있습니다. (경사로의 높이는 항상 1입니다.) 경사로는 낮은 칸에 놓으며, L개의 연속된 칸에 경사로의 바닥이 모두 접해야합니다. 낮은 칸과 높은 칸의 높이 차이는 무조건 1이어야 합니다. 경사로를 놓을 칸의 높이는 모두 같아야 하고, L개의 칸이 연속되어 있어야 합니다. 경사로를 놓을 수 없는 조건은 다음과 같습니다. 경사로를 놓은 곳에 또 경사로를 놓는 경우 낮은 칸과 높은 칸의 높이 차이가 1이 아닌 경우 낮은 지..
-
Flutter + Spring Boot 가족, 모임 서비스 구현하기 2 (Feat. Api 설계)백엔드 2023. 9. 25. 23:33
가족, 모임 구현 서비스에 앞서 여러가지 공부를 진행했고 오늘부로 첫 번째 api 설계에 따른 구현을 마무리했습니다. 중간중간 DB 스키마도 변경되고 api 설계도 변경되면서 시간이 생각한 것보다 훨씬 많이 걸리게 되었습니다...🥲 그래도 첫 번째 구현을 마무리해서 그동안 있었던 부분들을 정리해보려고 합니다. 1. test 환경 구성 현재 서버 DB를 MySQL로 구성하고 있는데, test에 활용할 DB를 h2로 구성하고 싶었습니다. 그래서 각각 독립된 환경을 구성하고 설정에 따른 실행에 따라 각기 다른 DB 환경을 구성할 수 있도록 해주었습니다. 구체적인 방법은 다음 포스팅에서 확인하실 수 있습니다. https://beomseok37.tistory.com/167 Spring Boot 독립된 test D..
-
Gradle이란?백엔드 2023. 9. 21. 10:47
Gradle이란? Gralde Toll은 우아하고 확장 가능한 선언적 빌드 언어를 갖춘 빠르고 신뢰할 수 있으며 적응성이 띄어난 오픈 소스 빌드 자동화 도구라고 소개되어 있습니다. Gradle을 사용해야하는 이유 Gradle은 활발한 커뮤니티와 강력한 개발자 생태계를 갖춘 널리 사용되고 있는 완성된 도구입니다. Gradle은 JVM용으로 가장 널리 사용되는 빌드 시스템이며 Android 및 Kotlin 등 다중 플랫폼 프로젝트의 기본 시스템입니다. 또한, 풍부한 커뮤니티 플러그인 생태계를 갖추고 있습니다. Gradle은 내장 기능, 타사 플로그인 또는 사요자 정의 빌드 로직을 사용하여 광범위한 소프트웨어 빌드 시나리오를 자동화할 수 있습니다. Gradle은 빌드 로직을 쉽게 읽고 쓸 수 있게 해주는 선언..