본문 바로가기

전체 글

(145)
[algo-with-me] 디자인, 스토리 보드, BE 아키텍처까지 (3) 아직 첫주차에 벌어진 일들입니다. 저번 포스트도 중요했지만 이번 포스트는 더 중요한것같네요. 제목에 써놓았듯이 이번 포스트에서는 디자인, 스토리 보드, BE 아키텍처에 대한 내용을 담았습니다. 프론트 - 무지, 콘, 네오 백 - 저(제이지), 프로도 디자인 우리는 디자인은 최소화 하기로 이야기 했습니다. 프론트 분들이 디자인 보다는 기술적인 부분들에 대한 학습과 구현을 원하셔서 디자인에는 최소한의 힘을 들이기로 결정했습니다. 그래서 프로그래머스, 백준 사이트의 UI를 마구마구 따와서 만들었습니다. 피그마 링크 (https://www.figma.com/file/V42mrxheeNAvLQMbbvrZli/%EB%94%94%EC%9E%90%EC%9D%B8?type=design&node-id=0%3A1&mode=..
[C++] 네트워크 연결 (1922번) https://www.acmicpc.net/problem/1922 1922번: 네트워크 연결 이 경우에 1-3, 2-3, 3-4, 4-5, 4-6을 연결하면 주어진 output이 나오게 된다. www.acmicpc.net 문제풀이 보자마자 딱! MST 를 만들면 되겠구나 라고 생각했다. MST를 만드는 알고리즘은 여러가지가 있는데 그중에 kruskal 알고리즘을 사용하기로 했다. 예전에 해본적이 있어서 이걸 사용했다. union-find 알고리즘을 그대로 사용하면된다. 크루스컬 알고리즘의 핵심을 weight별로 정렬하여 cycle이 발생하지 않는 edge를 추가하는 것이다. union-find 알고리즘으로 cycle 발생 여부를 체크해가며 edge를 추가하면 쉽게 구현할 수 있다. 1. 입력받은 edge..
[algo-with-me] 본격적인 개발에 앞선 준비사항들 (2) 6주간의 그룹 프로젝트중 그 첫주는 개발에 필요한 모든 준비 사항들을 결정했습니다. 프로젝트 시작전에도 회의를 종종 했기 때문에 한 2~3일이면 다 정리되고 바로 개발을 시작할 수 있을줄 알았는데 정해야 할 내용들이 정말 많았습니다. 하나하나 하다보니 벌써 첫주가 지나버렸습니다. 그래도 거의 모든 준비가 끝나서 2주차부터는 본격적으로 개발을 시작할 수 있을것 같아 매우 기대가 됩니다. 이번 포스트에서는 개발에 들어가기 앞서 팀원들과 결정한 선택들에 대한 내용들을 주로 담았습니다. 프론트 - 무지, 콘, 네오 백 - 저(제이지), 프로도 정한 내용들을 하나하나 싹 ~ 되짚으면서 적어볼게요. 그라운드 룰 정말 기본적으로 프로젝트를 진행하면서 서로 지키기로 약속한 규칙입니다. 사실 두 개밖에 없습니다. 첫 번..
[algo-with-me] 네이버 부스트캠프 그룹프로젝트 시작 (1) 저는 네이버 부스트캠프 8기에 참가한 캠퍼입니다. 그룹프로젝트는 부스트캠프의 마지막 커리큘럼으로 팀을 구성해 6주간 주제선정부터 기획, 디자인, 서버 환경 구축, 개발까지 모두 완료하는 것이 목표입니다. 그 과정에서 의식적으로 성장해 나가기 위해 그룹 프로젝트의 주제보다는 의사소통, 선택의 이유, 더 깊은 학습, 문서작업등의 역량을 높이는데 집중해보려고 합니다. 글쓰기가 서툴러 충분히 기록하고, 전달할 수 있을지 모르겠지만 최선을 다해보겠습니다. 이 시리즈는 algo-with-me 프로젝트를 진행하는 모든 과정을 기록할 예정입니다. 레포지토리 구경오세요~ https://github.com/boostcampwm2023/web12-algo-with-me/tree/main 이번 포스트에서는 그룹 프로젝트 정식..
[C++] 먹을 것인가 먹힐 것인가 (7795번) https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net 문제풀이 n과 m의 크기가 최대 20000이므로, 완전탐색을 하면 시간초과가 발생할 것이라고 생각했다. 더 좋은 방법을 생각하던중, 두 값을 정렬한 뒤 a를 순회하며 b에 이분탐색을 한 뒤 인덱스를 이용해서 더 작은 값의 개수를 구할 수 있다고 생각했다. 풀이 방법이 바로 떠올라서 풀었는데, 이분탐색에서 막혀버렸다. 맨날 공식처럼 그냥 "값이 있..
[C++] 올바른 배열 (1337번) https://www.acmicpc.net/problem/1337 1337번: 올바른 배열 첫째 줄에 배열의 크기 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 배열의 원소가 한 줄에 하나씩 주어진다. 원소는 1,000,000,000보다 작거나 같은 음이 아닌 정수이 www.acmicpc.net 문제풀이 접근 방법이 생각처럼 잘 떠오르지 않았다. 일단 연속되는 수를 찾아야 하기 때문에 정렬을 해 주어야겠다고 생각했다. 정렬한 값을 순서대로 보면서 어떻게 하면 추가해야 할 원소를 구할수 있지 않을까? 라고 고민해보았다. 그 결과 이런 방법이 떠올랐다. 정렬한 배열을 순회한다, 각 순회마다 배열 인덱스 1~4를 더한 곳의 배열 값을 가져와 현재 순회하는 배열의 값과 비교를 ..
[C++] 쇠막대기 (10799 번) https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제풀이 처음 문제를 딱 봤을 땐, 어 어려운데? 감이 잘 안오네 라는 생각을했다. 근데 왠지 모르게 본능적으로 스택을 써서 어떻게 하면 풀수 있을거란 생각이 났다. 문제를 많이 풀어보면서 생긴 느낌인가보다. 우선 레이저와 쇠막대기를 어떻게 구분할지 고민했는데, 이건 간단했다. 레이저는 바로 () 닫는 괄호가 나오고 쇠막대기는 그렇지 않다. 그렇다면 쇠막대기를 stack에 넣어주고, 레이저가 나온다면 두동강..
2023 4분기 현대오토에버 코딩 테스트 후기 백엔드 직무로 지원했다. 신기하게도, c++사용이 불가능했다. java, javascript, python 세 언어만 사용이 가능해서 부랴부랴 python 문법 공부를 했다. 현대오토에버는 코딩 테스트 난이도가 높은 편이 아니라는 말을들어서 알고리즘 공부보다 파이썬 문법 공부를 더 열심히 했다. 총 3문제가 나왔고 시간은 3시간으로 매우 여유로웠다. 1번은 시간 초과를 생각하며 구현해야 하는 문제였고 2번은 구현 문제였다. 3번은 dp 문제를 조금 더 꼬아서 냈다. 1, 2 번은 풀어서 제출했지만, 3번은 아무리 생각해도 접근 방법이 시간초과 나는 경우밖에 생각나지 않아 풀지 못했다. dp 문제는 정말.......... 싫다. 차라리 구현이 조금 복잡한 문제가 나오는게 더 좋다. 3문제를 다 풀지 못해서..