전체 글

이것 저것 끄적이는 공간입니다.
문제 1부터 N까지의 번호를 가진 N명의 사람이 있다. 각 사람들은 1부터 N 사이의 임의의 수 Ci가 쓰여있는 카드를 한 장씩 가지고 있다. 사람들 간에는 총 M쌍의 친구 관계가 있다. 모든 친구 관계는 양방향이라서, a번 사람과 b번 사람이 친구라면 b번 사람과 a번 사람도 친구이다. 서로 친구 관계에 있는 두 사람끼리는 서로 들고 있는 카드를 원하는 만큼 교환할 수 있다. 모든 사람들은 각자가 들고 있는 카드에 적힌 수가 자신의 번호와 최대한 비슷하기를 원한다. 어떤 한 사람의 불만족도를 그 사람이 들고 있는 카드에 적힌 수와 그 사람의 번호와의 차이로 정의하고, 전체 불만족도는 모든 사람의 불만족도의 합으로 정의한다. 카드 교환이 적절하게 이루어졌을 때, 가능한 전체 불만족도의 최솟값을 구하라. ..
소프트웨어 마에스트로에서 프로젝트를 하면서 다크 모드를 적용해야 하는 일이 있었다. 우선 지금 진행 중인 프로젝트는 이른바 "태블릿 문제 풀이 플랫폼"인데, 자세한 설명은 추후 게시하려고 한다. 아무튼, 이 글을 쓰게 된 이유는 프로젝트의 특수성 때문에 다크 모드 구현에 신경 쓸 것들이 많았기 때문이다. 일반적인 다크모드 사실 Flutter의 MaterialApp은 darkTheme과 themeMode를 지정할 수 있기 때문에, 다크 모드를 쉽게 구현할 수 있다. MaterialApp( ... darkTheme: ThemeData.dark(), themeMode: ThemeMode.dark, ); 이렇게 하면 앱의 theme은 자동으로 기본 다크모드 테마로 변경된다. themeMode를 ThemeMode..
시작 🥳 블로그를 시작했다. 갑자기 기분이 좋아서(?) 블로그를 시작했다. 사실 3일이라는 연휴를 침대에 찰싹 붙어 있는 내 모습을 보고 뭐라도 해야겠다는 생각이 들었다. 그래서 아무 생각 없이 블로그를 만들었다. 일단 시작해보자 작년 초, 학교에서 '자기주도학습 경진대회' 공지를 보고 아무 생각 없이 1일 1백준을 시작했다. 사실... 최우수상을 받으려면 어떤 전략이 좋을까? 생각하다가 "이거면 꾸준함을 보여줄 수 있지 않을까?"라고 막연히 생각했다. 물론 아직 많이 부족하지만, '무지성'으로 시작한 1일 1백준은 기본적인 알고리즘 지식을 쌓는 데 큰 도움이 되었다. 그리고 무엇보다도 알고리즘에 대한 관심이 생기게 된 좋은 기회였다. 결과는 좋지는 않았디만 전국 단위 대회도 출전해보고, ICPC도 나가..
잘익은 망고쥬스
잘익은 망고쥬스