일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- C#강의
- BFS
- LCM
- 1일1솔
- 파이썬
- 백준
- 합 구하기
- python3
- DP
- 소수찾기
- 완전탐색
- Python
- 인프런
- 프로그래머스
- 연관관계
- 우선순위큐
- 그리디 알고리즘
- 브루투포스
- appendleft
- mvc
- 소수판별
- unity
- pypy3
- deque
- 누적합
- c#
- JPA
- popleft
- Java
- spring
- Today
- Total
목록분류 전체보기 (139)
jae_coding

문제 https://www.acmicpc.net/problem/1003 1003번: 피보나치 함수 각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다. www.acmicpc.net 구현 0의 개수: fib(n-1)의 값과 동일 1의 개수: fib(n)과 동일 코드 import sys input = sys.stdin.readline def fib(num, memo): if num == 0: return 0 elif num == 1: return 1 else: if num not in memo: memo[num] = fib(num-1, memo) + fib(num-2, memo) return memo[num] else: return memo[num] t = int(in..

본 리뷰는 인프런 김영한님의 스프링 MVC 리뷰를 한 포스팅입니다. 스프링 MVC 전체 구조 이전에 버전을 쪼개면서 직접 MVC를 만들어보았는데, 그것과 비교하어 SpringMVC구조를 비교해보겠습니다. 1) 이전에 만들어 둔MVC프레임워크의 구조 2) SpringMVC구조 동작 순서 핸들러 조회: 핸들러 매핑을 통해 요청 URL에 매핑된 핸들러(컨트롤러)를 조회한다. 핸들러 어댑터 조회: 핸들러를 실행할 수 있는 핸들러 어댑터를 조회한다. 핸들러 어댑터 실행: 핸들러 어댑터를 실행한다. 핸들러 실행: 핸들러 어댑터가 실제 핸들러를 실행한다. ModelAndView 반환: 핸들러 어댑터는 핸들러가 반환하는 정보를 ModelAndView로 변환해서 반환한다. viewResolver 호출: 뷰 리졸버를 찾고..

문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 구현 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산 (x > 0) -. heapq.heappush() 메서드 이용 양수의 정수, 즉 자연수가 아니라면 heap list가 존재한다면 제거 -. heapq.heappop() 메서드 이용 만약 리스트가 비어있는데 0이 나온다면 0출력 코드 import sys, heapq input = sys.stdin.readl..

본 리뷰는 인프런 김영한님의 스프링 MVC 리뷰를 한 포스팅입니다. 목차 프론트 컨트롤러 패턴 프론트 컨트롤러 도입 - v1 View 분리 -v2 Model 추가 -v3 실용적인 컨트롤러 -v4 유연한 컨트롤러 -v5 1. 프론트 컨트롤러 패턴 프론트 컨트롤러 도입 전 클라이언트가 공통 로직이 필요하면 공통로직을 매번 호출해야하는 단점이 있었다. 프론트 컨트롤러 도입 후 공통의 관심사를 프론트 컨트롤러를 통해서 필요한 로직들을 호출할 수 있도록 만든다. 프론트 컨트롤러 서블릿 하나를 통해서 클라이언트의 요청을 모두 받고, 요청에 맞는 컨트롤러를 호출해준다. 따라서 서블릿 한개를 통해서 공통 처리 기능을 모두 수행하고, 나머지 컨트롤러는 서블릿을 별도로 사용하지 않아도 된다는 장점을 지닌다. 실제로, 스프..

문제 https://www.acmicpc.net/problem/16173 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 구현 시작점: 왼쪽 맨위, 종료점: 오른쪽 맨 아래 구간: N x N matrix (2

본 리뷰는 인프런 김영한님의 스프링 MVC 리뷰를 한 포스팅입니다. 목차 개요 적용 한계 1. 개요 앞서 JSP나 서블릿으로 웹 애플리케이션을 만들어봤다. 하지만 JSP와 서블릿은☝️비지니스 로직과 ✌️뷰 렌더링을 모두 처리하게 된다면 하나의 파일에서 너무 많은 역할을 하게 된다. 예를 들어서, 비지니스 로직을 변경할려고해도 다른 로직이 들어있는 파일을 수정을 해야하고, 뷰 렌더링쪽 변경을 하더라도 함께 변경을 해야할 가능성이 높아질 것이다. 그렇기 때문에 결론적으로 유지보수하기가 어려워질 것이다. 이를 해소하고자 서블릿이나 JSP로 처리하던 것을 Controller와 View라는 영역으로 서로 역할을 나누는 MVC패턴을 사용한다. 컨트롤러 - HTTP 요청을 받아서 파라미터를 검증하고, 비즈니스 로직을..

문제 https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 구현 Fn = Fn-1 + Fn-2 (n ≥ 2) 피보나치 함수 구현 함수를 구현하는데 메모리 최적화와 시간을 줄이기 위해서 dictionary를 이용해서 연산과정의 시간을 줄일 수 있었다. 물론 n이 20이하의 자연수라 시간초과는 딕셔너리를 사용하지 않아도된다. 하지만 추후 메모리 문제와 시간초과를 관리해주는 것이 좋다. 코드 import sys in..

문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 구현 1. N 단어의 수를 입력 받는다. 2. 단어를 list로 char단위로 dict를 이용하여 dict내에 없다면 dict에 추가를 시킨다 3. 만약 dict 내에 char가 있다면 이전 단어와 동일한지 확인하는 알고리즘을 통하여 확인하고 만약 동일하지 않으면서 dict안에 존재한다면 그것은 True를 return하여 예외처리해준다. 4. 예외처리가 되지 ..

문제 https://www.acmicpc.net/problem/11021 11021번: A+B - 7 각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다. www.acmicpc.net 코드 import sys input = sys.stdin.readline t = int(input()) for i in range(1, t+1): a, b = map(int, input().split()) print("Case #" + str(i) + ": " + str(a+b)) 느낀점 입력 받은 값과 수학연산, 그리고 스트링 출력에 대한 기본적으로 알고있는지에 대한 테스트라고 느꼇습니다.

본 리뷰는 인프런 김영한님의 스프링 MVC 리뷰를 한 포스팅입니다. 목차 회원 관리 애플리케이션 요구사항 서블릿을 활용하여 회원 관리 웹 애플리케이션 만들기 JSP을 활용하여 회원 관리 웹 애플리케이션 만들기 1. 회원 관리 애플리케이션 요구사항 -. 회원 정보 : 이름(username), 나이(age) -. 기능: 회원 저장, 회원 목록 조회 Member domain package hello.servlet.domain.member; import lombok.Getter; import lombok.Setter; @Getter @Setter public class Member { //Repository에 저장하면 id가 발급되는 구조 private Long id; private String username..