전체보기

🥇코딩테스트:Algorithm

서로소 집합 자료구조 (Union Find) (백준 1043번)

더보기 [Gold IV] 거짓말 - 1043 문제 링크 성능 요약 메모리: 14352 KB, 시간: 128 ms 분류 자료 구조, 분리 집합, 그래프 이론, 그래프 탐색 제출 일자 2024년 1월 3일 16:32:22 문제 설명 지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게 과장해서 말한다. 당연히 과장해서 이야기하는 것이 훨씬 더 재미있기 때문에, 되도록이면 과장해서 이야기하려고 한다. 하지만, 지민이는 거짓말쟁이로 알려지기는 싫어한다. 문제는 몇몇 사람들은 그 이야기의 진실을 안다는 것이다. 따라서 이런 사람들이 파티에 왔을 때는, 지민이는 진실을 이야기할 수 ..

💎백엔드 : Backend

Spring Web MVC

💡필터, 인터셉터, AOP의 차이? 필터 - 스프링 컨텍스트 외부에 존재하여 스프링과 무관한 자원에 대해 동작함. - 보통 web.xml에 등록하고, 인코딩 변환 처리, XSS 방어 등의 요청에 대한 처리로 사용됨. 인터셉터 - 스프링 컨텍스트 내부에 존재하며 Dispatcher Servlet이 컨트롤러를 호출하기 전, 후로 끼어듬. - 스프링의 모든 빈 객체에 접근할 수 있음. 여러개를 사용할 수 있음(순서 주의). - 로그인 체크, 권한체크, 프로그램 실행시간 계산작업 로그확인 등의 업무처리. AOP - 필터와 인터셉터 (필터와 인터셉터는 Servlet 단위에서 실행) 와 다르게 메소드 앞에서 Proxy 패턴의 형태로 실행됨. - OOP를 보완하기 위해 나온 개념. (OOP에서 공통 사항을 모듈화 한..

💎백엔드 : Backend

Spring AOP

관점 지향 프로그래밍 (AOP) 핵심 관심 사항(core concern)과 공통 관심 사항(cross-cuttin concern) 기존 OOP (객체지향 프로그래밍)에서는 공통관심사항을 여러 모듈에서 적용하는데 있어 중복된 코드를 양상하는 한계가 존재함. 이를 해결하기 위해 AOP가 등장 AOP는 문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 손쉽게 적용할 수 있게 함 AOP는 application에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리함. 분리한 부가기능을 어스팩트(Aspect) (=공통 관심 사항) 라는 독특한 모듈 형태로 만들어서 설계하고 개발하는 방법. OOP를 적용하여도 핵심기능에서 부가기능..

🥇코딩테스트:Algorithm

다익스트라 (boj 12851 숨바꼭질2)

문제 : https://www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 기존의 숨바꼭질 문제에서 최단경로의 갯수까지 구해야 한다. 1. 목적지에 도달하면 함수를 종료하는 것이 아닌 계속 탐색을 이어나가도록 함수를 구성했다. while(!pq.isEmpty()){ Node cur = pq.poll(); if(cur.idx==K && cur.w==dist[K]){ // 목표지점에 도달한 경우 count+=1; } ... } ..

💎백엔드 : Backend

SpringFramework - DI

SpringFramework란? Spring Framework 는 자바로 Enterprise Application 을 만들 때 포괄적으로 사용하는 Programming 및 Configuration Model 을 제공해 주는 Framework 로 Application 수준의 인프라 스트럭쳐를 제공. 즉 개발자가 복잡하고 실수하기 쉬운 Low Level ( 쉽게 말하면 setting )에 신경쓰지 않고 Business Logic개발에 전념할 수 있도록 해준다 Spring Container 스프링 컨테이너는 스프링에서 자바 객체들을 관리하는 공간을 말함. 자바 객체를 스프링에선 빈(Bean)이라고 하는데, 스프링 컨테이너에서는 이 빈(Bean)의 생성부터 소멸까지를 개발자 대신 관리해주는 곳이라고 할 수 있음..

💎백엔드 : Backend

MVC Pattern, Session, Cookie

JSP를 이용하여 구성할 수 있는 Web Application Architecture는 크게 model1과 model2 로 나뉜다. Model1 : client의 요청에 대한 Logic처리와 response page(view)에 대한 처리를 모두 함 Model2 : 화면에 보이는 부분만 처리 (= MVC패턴을 웹 개발에 도입한 구조 ) Model1 view와 logic을 JSP페이지 하나에서 처리하는 구조 장점 구조가 단순하고 직관적, 배우기 쉽다 개발 시간이 비교적 짧기 때문에 개발 비용이 감소 단점 view코드와 로직처리를 위한 java코드가 섞여 있어서 JSP코드 자체가 복잡해진다 JSP코드에 BE와 FE가 혼재되어 분업이 힘들어짐 프로젝트 규모가 커지게 되면 코드가 복잡해져 유지보수가 어려움 확장..

💎백엔드 : Backend

[JSP]

JSP(Java Server Page) HTML내에 자바 코드를 삽입하여 웹 서버에서 동적으로 웹 페이지를 생성하여 웹 브라우저에 돌려주는 언어 실행 시 servlet으로 변환된 후 실행 됨 (최초 한 번 + JSP수정 시) 변환은 WAS가 해준다. JSP가 빠를까 Servlet이 빠를까? JSP는 Servlet으로 변환되는 과정이 있긴 하지만, 최초 한 번과 수정 시에만 변환된다. JSP에서 GET과 POST를 구분하는 방법 request.getMethod() JSP 문법 선언문 멤버변수 선언이나 메소드를 선언하는 영역 선언문 안에 System.out.println("A"); 과 같은 명령을 넣으면 오류가 발생한다. 처리문 - 클라이언트 요청 시 매번 호출되는 영역. - Servlet으로 변환 시 se..

🥇코딩테스트:Algorithm

이진 검색 트리 (백준 5639번)

전위순회 결과를 바탕으로 트리를 만들고, 후위순회를 출력하면 된다. 풀이 순서 1. 입력을 바탕으로 트리를 구성. (노드 클래스를 활용) 2. 노드 클래스 내부에 insert 함수 작성. insert 함수 : 입력된 노드의 값을 현재 노드 값과 비교하여, 왼쪽 혹은 오른쪽에 달아주는 함수. 이때 insert 함수에 재귀함수를 적용해야 한다. 해당 위치가 비어있으면 해당 위치에 노드를 달아주고, 비어있지 않다면 해당 위치에 있는 노드의 insert함수를 재귀호출 코드 package com.mincheolsong; import java.io.*; import java.util.*; public class Main { // BOJ 5639번 이진 검색 트리 static class Node{ int num; N..

mc.thd
'분류 전체보기' 카테고리의 글 목록 (6 Page)