[WIL1] 미니프로젝트 그리고 알고리즘 시작

민픽minpic·2023년 4월 11일
0

크래프톤 정글

목록 보기
2/7

WIL1 : 2023/04/03(월) - 2023/04/09(일)

1. 미니프로젝트 (Jungle Ranking) (04/03 - 04/06)

4/3일 오후 5시 부터 4/6일 오후 12시까지 미니프로젝트가 시작되었다.
아이디어 기획부터 시작하여 데모시연과 발표까지 마무리해야한다.
나와 2명의 팀원, 3명에서 아이디어를 빠르게 내고 메인기능과 필요한 기능들을 정리했다.
모두 프로젝트 경험이 없거나 거의 없는편이라 오버스팩 되지 않도록 기획했다. 추후 시간이 남으면 추가 기능들을 구현할 생각이었다.

제안 발표는 4/4일 화요일 오전이었고, 4/3일 하루 동안 서비스 기획과 함께 git 세팅과 구현이 필요한 개념들을 공부했다.
그리고 4/4일 제안 발표를 했고, 기능이 너무 적다는 의견을 받았다. 그리고 그 점을 보안하여 바로 구현에 들어갔다.

서비스를 만들 때,
필수조건은
1. 로그인 기능
2. Jinja2 템플릿엔진을 이용한 서버사이드렌더링

옵션조건은
1. JWT 인증방식 로그인 구현
2. Bootstrap을 대체할 CSS 라이브러리 사용하기

우리 팀은 심플한 서비스에 모든 조건들을 넣어보는 것이 목표였다.

그리고 내가 맡은 기능 구현은 아래와 같다.
1. JWT 적용 (https://velog.io/@minpic/Json-Web-Token-JWT)
2. 로그인 기능
3. 마이페이지 기능
4. 통계처리
5. 슬랙에 멘션 봇 만들기

서비스는 깃헙에서 볼 수 있고, 미니 프로젝트를 하면서 기술적 챌린지에 대한 내용은 기능구현 옆에 링크로 걸어두었다.
(이외 기술적으로 배운 것들은 TIL 시리즈에서 볼 수 있다.)

깃헙 주소 : https://github.com/loveminpic/JungleRanking

2. 알고리즘 시작 (금요일 to 일요일) Python 사용

깃헙 주소 : https://github.com/loveminpic/K-Jungle

미니 프로젝트가 끝나고, 금요일부터 새로 짜여진 조별로 주어진 백준 문제를 풀어야한다.
이전에 코딩테스트를 풀어본 경험이 조금 있어서, 그나마 수월하게 기초문제를 풀어나갔다.
하지만 수학과 재귀함수 관련 문제를 풀어내면서 부족함을 많이 느꼈다.
금요일부터 일요일까지 기초문제부터 해서 약30문제 정도 푼 것 같다.
알고리즘 문제들을 풀어내면서 새로 알게된 부분에 대해서 정리해보려고 한다.

input() 과 readline() 차이
문제를 풀면서 많은 input()을 받을 때, 시간초과문제를 겪게되었다.
계속 input()을 받아 입력 값을 받았었는데, 새롭게 readline() 입력을 알게 되었다.
input()은 사용자가 누르는 데이터를 하나씩 버퍼에 넣는다면, readline()은 한 번에 읽어와 버퍼에 저장하는 형식이다. 그래서 하나씩 누를 때마다 데이터를 버퍼에 저장하는 방식보다 빠르며 입력이 많아질 수록 차이가 커진다.

sort(), sorted() 차이
sort()는 퀵소트로 새로운 배열을 만들지 않고 주어진 배열 내에서 정렬을 한다.
sorted()는 새로운 배열을 만들어서 주어진 배열은 그대로 보존되고, 새로운 배열에 정렬을 한다.

list = [5,4,3,2,1]
print(list)
-> [5, 4, 3, 2, 1]

list.sort()
print(list)
-> [1, 2, 3, 4, 5]

list = [5,4,3,2,1]                   # 다시 5,4,3,2,1로 list로 만든 후
list2 = sorted(list)                 # sorted(list) 실행
print(list)  						 # 원래 리스트는 변화 없고
-> [5, 4, 3, 2, 1]
print(list2)                         # sorted(list)를 담은 list2 는 변화 
-> [1, 2, 3, 4, 5]

list, set 특징
list와 set을 비교하면, List 는 순서를 보장하지만, set은 순서를 보장하지 않는다. 더불어 set은 중복을 용납하지 않는다. 그래서 set은 인덱스 접근이 불가능하다.

어려웠던 알고리즘 백준문제 번호 : (추후, 해당 문제 관련 설명 링크 추가)
2869/9020/1065/2628/10819

3. 첫 주 느낀점

첫 주여서 그런지 시간이 녹았다라는 표현이 나올 정도로 빠르게 지나갔다.
그리고 정글에 들어오길 잘했구나 싶었다.
이렇게 식사시간과 수면시간을 제외하고 공부만 할 수 있는 환경이라니... 성장을 안할 수가 없다.
확실히 체력적으로 많이 힘들긴하지만 열심히 비타민을 먹고 남은..약 140일..을 잘 보내봐야지 싶다.
모든 것은 나와의 싸움이다.
미니프로젝트가 끝나고나서는 모든 것이 자율적이고 자신이 한만큼 성장 할 수 있기 때문에 멘탈관리와 체력관리는 필수적인 것 같다.
확실히 프로젝트가 끝나고 나서는 집중력이 떨어지는 것 같은데 마음을 계속 다시 바로 잡으면서 열심히 공부해야겠다.

profile
사진찍는 개발자 / 한 가지 개념이라도 깊이있게

0개의 댓글