분류 전체보기

알고리즘 (PS)/BOJ

[백준] 3015 - 오아시스 재결합 (P5)

https://www.acmicpc.net/problem/3015 3015번: 오아시스 재결합 첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람 www.acmicpc.net 개인적으로 플레 난이도 치고는 풀만한 문제라고 생각한다. 중복되는 키가 연속으로 들어오는 경우를 체크하는게 고민 포인트. 내가 푼 알고리즘은 다음과 같다. 0. 맨 처음에 들어오는 키는 그냥 스택에 넣는다. 1. 수를 입력받으면 해당 수와 스택의 탑에 있는 값을 비교한다. 1.1 탑에 있는 값 > 새로 들어온 값 인 경우 (키가 감소) 탑에 있는 값과 새로 들어온 값이 서로..

알고리즘 (PS)/BOJ

[백준] 17299 - 오등큰수 (G3)

https://www.acmicpc.net/problem/17299 17299번: 오등큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 난이도가 조금 있는 스택문제 알고리즘 분류가 스택이라는 것만 알아내면 아이디어가 어렵다기 보다는 구현이 조금 복잡하다고 생각한다. 오등큰수를 결정하는 제일 큰 기준은 '숫자의 등장 횟수' 이다. 따라서 숫자의 등장횟수를 미리 다 저장해둔다. 주어진 수열의 왼쪽부터 차례대로 순회하면서 해당 숫자의 등장 횟수를 스택에 저장해나가다 스택의 가장 위에 있는 수의 등장횟수보다 더 많은 등장횟수를 가진 수가 나타나면 그..

알고리즘 (PS)/BOJ

[백준] 2485 - 가로수 (S4)

https://www.acmicpc.net/problem/2485 2485번: 가로수 첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가 www.acmicpc.net 모든 가로수의 간격이 같도록 새로 심어야 하는 가로수의 최소 개수를 구하는 문제이다. (최대 개수로 심으려면 그냥 간격을 1씩 해서 심으면 되니 간단하다) 바꿔말하면 주어진 수열이 등차수열이 되도록 하는 공차의 최댓값을 구하는 문제로 볼 수 있다. 등차수열의 일반항 An = a + (n-1)d 으로 생각을 해보면 구하는게 공차의 최댓값이니 공차를 구하는데 방해가 되는 초항 a 를 없애준다...

Android/Flutter

[Flutter] ListView는 안 가려지는데 다른 위젯들은 AppBar에 가려질 때

새 화면의 레이아웃을 잡으려고 하는데, scaffold 의 body 에 넣은 위젯이 앱바에 계속 가려지는 현상이 발생했다. 그런데 이상하게 ListView 위젯을 넣으면 앱바에 가려지지 않았다. 앱바 색을 반투명하게 해보니 앱바 뒤에 위젯이 위치한다. 그런데 ListView 위젯을 이용할 땐 또 멀쩡하다. 이 현상의 원인은 바로 Scaffold 의 extendBodyBehindAppBar 속성이었다. 이 속성이 true 로 설정되어 있으면 말 그대로 body 에 들어가는 위젯이 AppBar 영역과 분리되지 않고 AppBar 부분까지 확장되면서 AppBar 가 Body 위로 겹쳐져 올라오게 된다. 그렇다면 왜 ListView 위젯은 이 속성의 영향을 받지 않았던 걸까? 그 답은 ListView 공식 문서에..

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

18. 플러터 버전 업데이트 / DB 구조 수정 / 테스트 코드 추가

말출을 나오면서 컴퓨터를 하나 새로 장만했다. 60만원대 정도로 적당히 샀는데, 게임도 잘 돌아가고 개발 환경도 아주 좋아졌다ㅎㅎ 밖에서 개발하는 김에 오랜만에 입대직전까지 진행했던 이 프로젝트를 이어서 해보려고 했다. 아아... 플러터 SDK 버전이 달라서 그런지 스택오버플로우를 검색해가며 Gradle 파일을 수정해봤는데 뭔가 문제가 있는 듯 하다. 이전에 개발하면서 사용했던 라이브러리 일부도 deprecated 되면서 사용을 권장하지 않게 되었다. 2년동안 방치했더니 그동안 너무 많은 것이 바뀌어버렸다. 이걸 하나하나 수정을 하기에는 힘들어 보이기도 하고, 이 프로젝트를 너무 오랫동안 방치한 탓에 나도 이 프로젝트의 코드 구조를 까먹어 버린 상태라 이왕 이렇게 된 거 다시 구조도 복기할 겸 코드를 새..

Android/Flutter

[Flutter] SearchDelegate 의 searchFieldLabel 글자 색 바꾸기

SearchDelegate 로 생성하는 검색창의 디자인은 appBarTheme 메서드를 오버라이드해서 바꿀 수 있다. 이때 searchFieldLabel 의 fontSize, fontWeight 등은 textTheme 으로 수정할 수 있다. textTheme: const TextTheme( titleLarge: TextStyle( fontSize: 18, fontWeight: FontWeight.bold, color: Colors.white, ), ), 하지만 fontColor 는 바뀌지 않는다. 여기서 바꾸는 색은 TextInput 박스에 입력되는 글자 색을 바꾸게 된다. searchFieldLabel 의 글자색은 inputDecorationTheme 에서 hintStyle 을 바꾸면 적용된다. inp..

Infra/오라클 클라우드

[오라클 클라우드] curl 에서 'no route to host' 가 뜨는데 핑은 잘 가는 경우 (feat. ChatGPT)

오늘 있었던 사건이다. 한창 FS 훈련으로 바쁜 중... 오랜만에 여유 시간이 생겨서 오라클 클라우드 인스턴스에 올려둔 내 개인 웹사이트를 접속해봤다. 이게 무슨 소리요... 일주일 전쯤만 해도 말짱하게 잘 들어가지던 사이트가 안들어가진다니 뭔가 이상하다. 혹시나 싶어서 오라클 클라우드에 가보니 인스턴스가 종료된 상태였다 바로 인스턴스를 다시 실행시키고 다시 웹사이트에 접속을 시도해봤지만 여전히 같은 증상이 발생했다. 이것 저것 알아보다가 우연히 자동완색 검색어를 찾아서 이렇게 검색해봤다. 방화벽이 문제 일 수도 있다는 답변을 보고 이것 저것 알아보면서 검색을 더 해봤지만 답이 안나와서 답답하던 중 한번 ChatGPT 에게 이 검색어를 그대로 넣어서 물어봤다. 오... 나는 이 중에서 방화벽이 문제인 것..

알고리즘 (PS)/알고리즘 이모저모

[python] set.add() vs set(list) 속도 비교

백준에서 정렬 문제를 풀다가 궁금한 점이 생겼다. https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀던 문제는 이 문제다. 어렵지 않은 정렬 문제다. 근데 내가 5달 전에 파이썬으로 푼 코드와 오늘 파이썬으로 푼 코드의 길이가 비슷한데 시간차이가 많이 났다. 그래서 처음에는 set.add() 로 아이템 개수만큼 추가하기 vs 리스트에 담아둔 걸 set 으로 감싸서 리스트 객체로부터 set 객체 만들기 이 방법 차이로 시간이 많이 차이..

자기계발/생각 정리

군대 & 2022년 회고

어느덧 2022년이 끝났다. 1년동안 정말 많은 일들이 있었던 것 같다. 그래서 지난 1년동안 어떻게 살아왔는지 1년을 정리하며 돌아보는 글을 써보고 싶어졌다. 그런데 회고가 처음이라 어떻게 써야할지 몰라서 매달 생각나는 주요 이벤트를 적는 것부터 해보려고 한다ㅋㅋ 2022년의 전부를 군대에서 보냈다보니 그 시작점인 군대부터 적고 싶어져서 입대 전부터 지금까지의 내용을 정리해봤다 21년 군 입대 준비와 자대 배치 21년 5월, 2학년 1학기로 학교에서 비대면 수업을 한창 듣고 있던 때다. 이때 나는 정보처리가능사 자격증을 공부하면서 군입대를 준비하고 있었다. 근데 느긋하게 수업들으면서 수업과 과제시간 이외에는 PS를 하거나 게임을 주로 했다ㅋㅋ 그리고 지난 방학 때 인턴하면서 어깨너머로 배운 클라우드 지..

팀 프로젝트/[2022] OSAM 온라인 해커톤

[국방오픈소스아카데미 해커톤] 10. 4, 5차 멘토링 & 의견 구현 & 발표자료와 리드미 만들기

기간 : 10/22 ~ 10/30 마이페이지 디자인을 하면서 ul 태그를 썼는데, 팀원 분이 작업한 ul 태그의 css가 영향을 전역적으로 주고 있어서 문제가 발생했다. 프론트에서 협업할 때는 이런 문제가 있을 수도 있겠구나 하는 걸 새로 알게 됐다. 그리고 멘토링을 받았는데, 구현은 잘 했으니 이제 발표자료를 준비하면 되겠다는 말을 들었다. 그래서 다음 멘토링때 발표자료에 대한 초안을 가지고 멘토링을 하자고 하셨다. 근데 우리는 아직 구현을 해야하는 부분이 남아있어서 그 부분을 최대한 끝내보기로 했다. 찜한 특기를 마이페이지에서 볼 수 있게 연동하는 기능을 추가하려고 한다. 이를 위해 회원가입시 빈 데이터셋의 유저 데이터를 만드는 기능을 추가했다. 그리고 의견에 대한 구현도 의논했다. 파이어베이스 타임..

에버듀
'분류 전체보기' 카테고리의 글 목록 (37 Page)