[원티드 포텐업] LXP 2차 프로젝트 회고
·
포텐업
들어가며포텐업에서의 두 번째 프로젝트가 끝났다.2차 LXP 프로젝트는 LXP 회원 및 강의 신청 도메인 구축을 주제로 진행되었다. 1차 때는 콘솔(CLI) 기반이었다면, 이번에는 Thymeleaf로 화면을 그려 실제로 브라우저에서 동작하는 웹 애플리케이션을 만들었다. 이번 프로젝트에서는 팀장을 맡게 되었고, 구현 부분에서는 Spring Security를 사용한 회원가입/로그인 기능을 담당했다. 또한 이번 프로젝트에서는 문서화가 특히 강조되었다. 그래서 새로운 팀원이 합류하더라도 문서를 보면 팀의 컨벤션과 진행 상황을 빠르게 파악할 수 있도록 팀원들과 함께 필요한 문서를 정하고 아래와 같이 정리했다. 이렇게 문서를 미리 명확하게 정리해두니 실제 구현할 때도 많은 도움이 되었다. 잘한 점1. Spring S..
[원티드 포텐업] LXP 1차 프로젝트 회고
·
포텐업
포텐업에서의 첫 LXP 프로젝트가 끝났다.1차 LXP 프로젝트는 콘솔 기반의 LXP를 구현하는 것이었고, 설계는 팀에서 공통으로 진행하고 구현은 각자 진행하되 서로 코드 리뷰를 주고받는 방식으로 진행되었다. 본격적인 설계에 앞서 팀원들 LMS와 LXP의 차이를 먼저 논의했다. 개인적으로 흥미로웠던 부분은 LXP의 범위를 정의하는 것이었다. 인프런이나 패스트캠퍼스와 같이 명백한 학습 플랫폼만이 LXP인 것은 아닐 수도 있다는 이야기가 나왔는데, 한 팀원분이 "유튜브에서 특정 주제의 채널만 구독해서 스스로 학습 흐름을 만들어간다면 이것 또한 LXP이지 않을까"라는 의견을 내주셨다. 한 번도 생각해보지 못했던 방식의 접근이었는데, 공감이 많이 가는 내용이었다. 설계 과정에서는 요구사항 정의, 유스케이스 작성,..
[프로그래머스] 예상 대진표 (JAVA/자바)
·
PS/프로그래머스
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/12985문제 설명N명의 참가자가 각각 1~N번을 배정받아서 토너먼트 형식의 게임에 참가한다. 1번↔2번, 3번↔4번,... N-1번↔N번 끼리 게임을 진행하고, 다음 라운드에 진출한 참가자들은 다시 1번부터 (N/2)번을 배정받아서 게임을 진행한다.이 때, 처음 라운드에서 A번을 가진 참가자가 B번 참가자와 만나게 되는 라운드 번호를 구한다.A번 참가자와 B번 참가자는 서로 만날 때까지 항상 이긴다고 가정한다. 문제 풀이알고리즘 분류이진탐색최종 라운드에서 시작해서 아래로 내려가면서 a와 b가 만나는 라운드를 구한다.N = 2^x 일 때, N명의 참가자가 토너먼트 게임을 진행하면 총 x..
[프로그래머스] 주차 요금 계산 (JAVA/자바)
·
PS/프로그래머스
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/92341문제 설명주차장의 요금표와 차량들의 입차, 출차 기록이 주어질 때, 차량별로 주차 요금을 계산해서 차량번호가 작은 자동차부터 순서대로 주차요금을 출력한다.- 누적 주차 시간 - 누적 주차 시간 > 기본시간 : 기본요금 + (초과시간에 대해 단위시간당 요금 청구)- 초과시간이 단위 시간으로 나누어떨어지지 않으면 올림해서 계산- 어떤 차량이 입차된 후에 출차된 내역이 없다면 23:59에 출차된 것으로 간주하고 계산 문제 풀이알고리즘 분류구현HashMap문제는 이해했는데 구현을 하는데 시간이 오래걸렸다.처음에는 먼저 차량번호와 시각 기준 오름차순 정렬한 후에, 차량번호가 작은 순서..
[백준] 7490번 : 0 만들기 (JAVA/자바)
·
PS/백준
[문제 링크]https://www.acmicpc.net/problem/7490문제 설명1 ~ N까지 오름차순으로 된 수열의 숫자들 사이에 '+', '-', ' '(공백) 를 적절하게 삽입한다.이렇게 해서 만들어진 수식을 계산한 결과가 0이 되는 모든 수식을 찾는다. 문제 풀이알고리즘 분류문자열완전탐색깊이 우선 탐색(DFS)수식의 결과가 0이 되는 모든 수식을 찾아야 하기 때문에 완전탐색으로 모든 경우의 수를 탐색한다.1. 재귀함수를 사용해서 숫자들 사이에 +, - " "(공백) 중 하나를 선택해서 만들 수 있는 수식을 문자열 형태로 생성한다. dfs(num + 1, str + " " + (num+1));dfs(num + 1, str + "+" + (num+1));dfs(num + 1, str + "-..
[프로그래머스] 야근지수 (JAVA/자바)
·
PS/프로그래머스
[문제 링크]https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명야근피로도 = (N시간 동안 야근 후 남은 일의 각 작업량^2) 을 모두 더한 값N시간동안 works 배열에 담긴 각 일의 작업량을 적절하게 처리했을 때, 야근 피로도의 최소값을 구한다.1시간동안 작업량 1을 처리할 수 있다. 문제 풀이알고리즘 분류우선순위 큐(PriorityQueue)야근 피로도의 최소값을 구하려면 작업량이 가장 많은 일부터 처리해서 제곱근의 크기를 작게 한다. PriorityQueue에 현재 남은 작업량을 담..