오늘은 평소와 같이 오전에 운동을 하고 알고리즘을 풀면서 하루를 시작했다. 오늘 계획한 목표는 알고리즘 1문제 / 객체지향의 사실과 오해 1장 정리 / 자기소개서 보완 / 우아한테크세미나 TDD 리팩토링 듣고 정리였고, 공부한 내용을 차례대로 정리해보겠다. 백준 7568 덩치(Java) https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 시간 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 128 MB 93178 51602 4360..
오늘의 공부는 아래와 같다. 알고리즘 - 2문제 객체지향의 사실과 오해 - 1장, 2장 정독 우아한 테크코스 자기소개서 - 1,4문항 완료 / 2,3문항 작성 중 백준 2775 부녀회장이 될테야 시간 제한메모리 제출 정답 맞힌 사람 정답 비율 0.5 초 (추가 시간 없음) 128 MB 94941 53064 45163 57.067% 문제 평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다. 이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다. 아파트에 비어있는 집은 없고 모든 거..
날이 많이 풀려 시원한 주말, 나는 개발과 함께 보냈다. 어제 하루를 휴식해서 컨디션이 좋았기에 우선 알고리즘부터 시작했다. 저번에 풀지 못하고 stranger's lab 블로그를 보며 공부했던 체스판 다시 칠하기를 스스로 다시 풀어보았다. https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 시간 제한메모리 제출 정답 맞힌 사람 정답 비율 2 초 128 MB 104671 51838 41470 49.663% 문제 지민이는 자신의 저택에서 MN..
목요일부터 JSP와 Servlet을 활용하여 미니 프로젝트를 진행하기로 계획했기에, JSP와 Servlet 기초를 벼락치기하려 한다. 처음에 Spring을 사용하다가 JSP와 Servlet을 사용하여 공부하려하니 Spring이 얼마나 편한지 깨닫고 있다. 내일은 하루종일 뉴렉처님의 JSP & Servlet 108강으로 구성된 강의를 벼락치기 수강할 예정인데 최대한 많이 듣고 기초를 쌓아볼 것이다. 여튼, 오늘은 매일하고 있는 네트워크의 네트워크 계층(모두의 네트워크), DTO와 VO(테코톡), 그리고 JSP & Servlet의 기초 공부(초기 세팅까지만)를 시작했다. 기록 시작하겠다. 네트워크 계층 데이터링크 계층 이더넷 규칙 기반 데이터 전송 같은 네트워크에 있는 컴퓨터끼리만 가능 네트워크 계층 네트워..
DTO(Data Transfer Object) 예시) OMR 카드 계층(Layer)간 데이터를 전달하기 위해 사용하는 객체 getter와 setter 메서드 외에 특별한 기능을 가지지 않음 → 정렬 직렬화 등 데이터 표현을 위한 기능은 가질 수 있음 데이터의 캡슐화를 통해 유연한 대응이 가능 → 데이터 요청 수 감소 효과. 각기 다른 API 요청 대신, DTO에 데이터를 묶어서 보냄으로 요 청 수 감소 효과 기대 가능 setter가 아닌 생성자를 이용해서 초기화 할 시 불변 객체로 활용 가능. → 불변 객체로 만들 시 데이터 전달 과정에서 데이터가 변조되지 않음을 보장 비즈니스 로직을 포함하지 않음 public class OrderDTO { private Long orderId; private Strin..
if-else문의 문제점 변경 또는 확장이 될수록 코드가 복잡해진다. 코드를 수정하거나 수정할 위치를 찾는데 점점 오래 걸린다. 실수로 추가하지 않고 누락하는 부분이 생길 가능성이 있다. 즉, 유지보수가 점점 어려워진다. 참고자료 https://www.youtube.com/watch?v=90ZDvHl8ROE&list=PLgXGHBqgT2TvpJ_p9L_yZKPifgdBOzdVH&index=374&t=589s 예시 1) 초기코드 public class LottoNumbersAutoGenerator { public List generate() { List numbers = new ArrayList(); for (int i = LottoNumber.MIN; i