전체 글

개발은 좋은데 뭘로 개발할까
알고리즘 문제/BOJ (Python3, C++)

[백준] 2473 - 세 용액 (G4)

https://www.acmicpc.net/problem/2473 2473번: 세 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 3 이상 5,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 www.acmicpc.net 여러가지 방법으로 풀 수 있는 세 용액 문제이다. 나는 처음에 이분탐색을 시도 했다가 막혔는데, 구현을 쓸데없이 복잡하게 하다가 실수를 했던 것 같다. 2시간 고민하다가 다른 이분탐색 풀이 알고리즘을 보고 수정하여 맞았다. 이 문제를 투 포인터로 풀 수 있겠다는 생각까진 해봤는데, 구체적으로 어떻게 투 포인터를 써야할 지 떠오르지가 않았다. 그렇게 공부하여 알게된 알고리즘이 ..

알고리즘 문제/BOJ (Python3, C++)

[백준] 17070 - 파이프 옮기기 1 (G5)

https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 스티커 문제를 발전 시킨다면 이 파이프 옮기기 문제가 될 것 같다. 좋은 DP 연습문제이다. 처음에는 당연히 BFS를 이용해서 풀어야겠다고 생각했는데, BFS로는 최단경로를 찾아보기만 했지, 최단경로의 '개수'를 세어보진 않아서 백준님의 표현을 빌리자면, BFS의 형태를 모방한 브루트포스 풀이로 밖에 짜지지가 않았다. (그리고 이 방식은 당연하게도 시간초과를 받는다..) ..

알고리즘 문제/BOJ (Python3, C++)

[백준] 17144 - 미세먼지 안녕! (G4)

https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 어렵지 않은 구현 & 시뮬레이션 문제. 꼼꼼하게 구현만 하면 풀 수 있다. 판의 사이즈가 크지 않기 때문에 문제에서 시키는 그대로 알고리즘을 짜서 돌리고, 그 결과값을 출력하면 된다. 이 문제를 풀 때는 2가지만 떠올리면 되었다. 1. 어떻게 확산을 겹치지 않게 시킬 수 있을지 2. 공기청정기의 확산을 어떻게 구현할 것인지 어떻게 확산을 겹치지 않게 시킬 수 있을지 가령, 문제의 조건과는 맞지 ..

자기계발/코딩테스트, 대회

SUAPC 2021 SUMMER (신촌지역 대학교 프로그래밍 동아리 연합 여름 대회) 후기

생각보다 정말 많이 어려웠던 대회, 신촌지역 대학교 프로그래밍 동아리 연합 여름 대회(SUAPC 2021 Summer) 후기입니다. 플레티넘에서 군림하고 있던 팀원(버스기사) 두 분과 함께 대회를 준비하고 참가하게 되었습니다. 대회 준비 우선 전략을 짜기에 앞서 서로 자신있는 알고리즘에 대해 이야기를 나누었습니다. 한 분은 DP와 그리디에 집중해주셨고, 다른 한분은 올라운더이셔서(운전대 담당) 나머지 커버를 해주시고 저는 수학에 약해 그리디와 그래프, 구현 위주로 보자고 이야기를 나눴습니다. 대회 전에는 연습을 3번 했습니다. 경북대학교 대회 Gricon 2019, 2020 을 풀었는데, 2019는 생각보다 너무 쉬웠고, 2020은 2019보다 어려웠지만 SUAPC 2020 Winter 보다는 쉬웠습니다..

알고리즘 문제/BOJ (Python3, C++)

[백준] 17081 - RPG Extreme (P2)

문제 소개 https://www.acmicpc.net/problem/17081 17081번: RPG Extreme 요즘 택희는 RPG 게임을 하고 있다. 던전을 헤쳐나가며 몬스터를 물리치고, 아이템을 모으고, 레벨 업을 하여 보스 몬스터를 물리치는 전형적인 RPG 게임이다. 이 게임은 N×M 2차원 그리드 위에서 www.acmicpc.net 지문 길이부터 정신이 나갈 것 같은 문제.. RPG Extreme 문제입니다. 윷놀이 문제도 굉장히 스트레스 받는 문제라고 생각했는데, 이건 진짜 장난아니네요 그래도 윷놀이보다 출력형식은 양심적이라 좋았습니다.. 또 이 문제를 만들면서 진짜 게임 만드는 기분이라 꽤 재밌기도 했습니다. 디버깅은 짜증났지만요 ㅋㅋ 문제를 풀기 위해 노트에 "요약해서" 정리한 위 문제의 ..

개인 프로젝트/[2021] 코드악보 공유APP

17. UI 수정 / 악보 좋아요 기능 추가 / 그룹 기능 추가 / 성능 개선

이 앱의 메인 기능인 악보에 대한 CRUD 구현이 모두 끝나서 주변 기능들을 구현하기 시작했다. 1. '좋아요', Key 조절 기능 추가 악보 뷰어 페이지에서 악보에 좋아요를 누를 수 있도록 버튼을 만들고, 마이페이지에서는 내가 좋아요 표시한 악보를 모아서 볼 수 있도록 했다. 이를 위해서 자동 스크롤 UI 위치를 하단으로 수정했다. 좋아요 버튼을 상단 앱바에 넣고 싶었기 때문이다. 그리고 하단에 자동 스크롤 UI만 덩그러니 넣으니 허전해서 마침 구현하려고 했었던 악보 키를 조절하는 버튼도 넣었다. UI가 나름 괜찮아졌다 ㅎㅎ 지금 악보는 내가 미리 좋아요 표시를 해두어서 색이 칠해진 하트 모양이다. 좋아요를 표시하지 않은 악보는 색이 칠해져 있지 않다. 지금 포스팅을 쓰면서 생각해보니 하트 색을 빨간색..

알고리즘 문제/BOJ (Python3, C++)

[백준] 20936 - 우선순위 계산기 (P4)

문제 소개 https://www.acmicpc.net/problem/20936 20936번: 우선순위 계산기 국렬이는 두 번씩이나 계산기 문제를 내놓고 또 계산기 문제를 냈다. 이대로라면 죽을 때까지 계산기를 우려먹을 생각이고, 당신은 귀찮지만 상금을 얻기 위해서 주어진 수식을 규칙에 맞게 계 www.acmicpc.net 2021 WINTER 신촌 연합 대학생 프로그래밍 대회(SAUPC)의 A번으로 나왔던 문제이다. 당시에는 너무 복잡해서 그냥 넘겨버렸는데, 아니나 다를까 플레티넘 문제였다ㅋㅋ 이번 SAUPC에서 구현문제를 담당하게 되어서 연습을 위해 풀어보았다. 전에 풀었던 뒤집힌 계산기와 비슷한 유형이지만, 좀 더 복잡하다. 알고리즘을 어떤 걸 써야할지 감이 잡힐 듯 말듯 해서, 결국 알고리즘 분류를..

알고리즘 문제/BOJ (Python3, C++)

[백준] 20129 - 뒤집힌 계산기 (G3)

문제 소개 https://www.acmicpc.net/problem/20129 20129번: 뒤집힌 계산기 국렬이는 신촌 연합 프로그래밍 경진대회에서 '독특한 계산기'를 Div 1 no solve 방지 문제로 냈다가 생각보다 많이 풀리지 않아서 정말 많이 반성하였다. 그 때문에 해당 문제보다 (출제자인 국렬 www.acmicpc.net 문제에서 설명하는 계산기를 단순히 구현하는 문제입니다. 차근차근 하나씩 구현하다보면 어렵지 않게 풀 수 있습니다. 풀이 과정 이 문제가 요구하는 사항은 아래와 같습니다. 우선 주어지는 입력이 숫자와 연산자가 뒤섞인 그냥 쌩문자열이기 때문에 0. 문자열을 잘 잘라서 숫자와 연산자를 구분해놔야 합니다. 그 다음으로 1. 뒤에서부터 앞으로 계산하기 2. 숫자 앞에 의미없는 0을..

Android/Flutter

[Flutter] 서로 다른 Text 위젯의 글자 높이 통일하기

개인 프로젝트로 앱을 만들다가 문제가 한가지 발생했습니다. Wrap 위젯에 Text 위젯을 담고 있는 커스텀 위젯을 자식으로 담아 배치했는데, 각 Text 위젯들의 글자 정렬상태가 맞지 않는 것이었습니다. 예를 들면 이런 모습입니다. Text위젯 하나에 "중에" 를 넣고 그 옆의 Text위젯에 "서 하필" 을 넣었습니다. "중에" 와 "서 하필" 의 줄이 어긋나있습니다. 굉장히 보기 불편하지만, 한글로만 이루어진 가사에서는 그나마 나은 편 입니다. 한글과 영어, 일본어가 섞이니 난장판이 되었습니다. 처음에는 Flutter 버그라고 생각했습니다. 역시 cjk에 대한 지원은 아직 덜된건가 싶었죠 ㅋㅋ 검색도 뭐라고 해야할지 몰라서 text alignment in wrap widget 이런 식으로 검색도 해보..

알고리즘 문제/BOJ (Python3, C++)

[백준] 2376 - 단말 정점들의 거리 (P5)

문제 소개 https://www.acmicpc.net/problem/2376 2376번: 단말 정점들의 거리 첫째 줄에 단말 정점의 개수 n(2≤n≤1,000)이 주어진다. 다음 n-1개의 줄에는 차례로 1, 2번 단말 정점 사이의 거리, 2, 3번 단말 정점 사이의 거리, …, n-1, n번 단말 정점 사이의 거리가 주어진다. 다 www.acmicpc.net 이진트리와 인오더의 개념을 이용한 단순 구현 문제입니다. 규칙을 찾는다는 점에서 구성적 문제이기도 합니다. 문제를 어떻게 풀어야 할지는 알겠는데, 구현을 어떻게 할 지 감이 안잡히는 느낌으로 풀었던 문제입니다. 풀이 아이디어 풀이 아이디어는 생각보다 간단합니다. 문제에서 주어진 조건들을 하나씩 살펴보겠습니다. 1. n개의 단말 정점을 갖는 루트가 ..

에버듀
Blog. 에버듀