포스팅
-
27172번 수 나누기 게임알고리즘 2023.02.04 14:50
문제 설명 이번 문제는 아래의 규칙으로 카드 게임을 실시하고 각 플레이어가 얻은 점수를 출력하는 문제입니다. 각 사람이 카드를 한 개씩 받게 됩니다. (카드는 1~1,000,000 사이의 수) 카드 게임은 두 명이서 진행됩니다. 각 사람이 자신의 카드를 냈을 때 자신의 수로 다른 사람의 수를 나눴을 때 나머지가 0이면 승, 자신의 수가 다른 사람의 수에 적힌 수로 나누어 떨어지면 패, 둘 다 아니라면 무승부 승리한 플레이어는 1점을 얻고 패배한 플레이어는 1점을 잃습니다. 무승부인 경우 점수의 변화가 없습니다. 본인을 제외한 모든 플레이와 정확히 한 번씩만 게임을 실시합니다. 문제 풀이 아이디어 시간 복잡도 플레이어의 수가 100,000이므로, 모든 플레이어들의 모든 플레이를 for문으로 반복하면서 결과..
-
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로 선..
-
백준 2048 (Easy) (Gold 2)알고리즘 2023.07.27 10:18
2048 게임을 어느 방향이든 5번 실행했을 경우 가장 큰 숫자를 출력하는 문제입니다. 문제를 읽고 이번 문제는 2048게임 구현 + 모든 경우의 수를 살펴 봐야겠다는 생각을 했습니다. 우선 구현부분에 대해 생각해봤습니다. 2048게임 동작 원리 한 가지 방향에 대해 밀기를 할 때 동작하는 원리에 대해 우선 파악했습니다. 밀었을 때 일어나는 현상은 간단하게 두 가지 였습니다. 두 블럭이 같은 숫자라면 합쳐진다. 두 블럭이 다른 숫자라면 나란히 놓여진다. 여기서, 몇 가지 조건이 추가되는데 이는 빈 공백이 있을 경우입니다. 이 게임은 모든 칸에 숫자가 적혀있는 것이 아니라 공백이 있을 수도 있기 때문에 공백이 있을 경우도 생각하며 구현을 해야합니다. 구현 숫자를 가져오고 합칠 수 있는 방법에 대해 많이 고..
-
Flutter 기본 위젯, 레이아웃 설정 방법Flutter 2023.07.26 20:27
오늘은 Flutter 프로젝트를 새로 만들 때 생성되는 기본 구조와 기본 위젯, 레이아웃 잡는 법에 대해 살펴보도록 하겠습니다. 프로젝트 구조 android, ios, web 디렉토리 : android, ios, web에 필요한 기능들이 들어 있습니다. lib : 플러터 다트 소스 파일들을 담는 디렉토리입니다. 프로젝트 시작하면 main.dart파일이 생성되어 있습니다. test : 테스트 소스 코드를 위한 디렉토리입니다. pubspec.yaml : 앱 이름, 의존성, 환경 변수, 이미지 경로 등 기본 정보들을 담고 있는 파일입니다. main.dart & main, runApp main.dart 파일은 플러터 앱의 시작점이 되는 파일입니다. 어플리케이션 구동 시 맨 처음 호출됩니다. void main..