분류 전체보기

    [백준] 2263 - 트리의 순회 (자바/Java)

    문제 링크 성능 요약 메모리: 69800 KB, 시간: 428 ms 분류 분할 정복(divide_and_conquer), 재귀(recursion), 트리(trees) 문제 설명 n개의 정점을 갖는 이진 트리의 정점에 1부터 n까지의 번호가 중복 없이 매겨져 있다. 이와 같은 이진 트리의 인오더와 포스트오더가 주어졌을 때, 프리오더를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n(1 ≤ n ≤ 100,000)이 주어진다. 다음 줄에는 인오더를 나타내는 n개의 자연수가 주어지고, 그 다음 줄에는 같은 식으로 포스트오더가 주어진다. 출력 첫째 줄에 프리오더를 출력한다. 4256 문제랑 비슷한 것 같았는데 조금 더 까다로운 것 같다 postOrder에서 왼쪽으로 가는 것을 구현하는 것은 어렵지 않았는데, 오..

    [백준] 4803 - 트리 (자바/Java)

    문제 링크 성능 요약 메모리: 53236 KB, 시간: 408 ms 분류 자료 구조(data_structures), 깊이 우선 탐색(dfs), 분리 집합(disjoint_set), 그래프 이론(graphs), 그래프 탐색(graph_traversal), 트리(trees) 문제 설명 그래프는 정점과 간선으로 이루어져 있다. 두 정점 사이에 경로가 있다면, 두 정점은 연결되어 있다고 한다. 연결 요소는 모든 정점이 서로 연결되어 있는 정점의 부분집합이다. 그래프는 하나 또는 그 이상의 연결 요소로 이루어져 있다. 트리는 사이클이 없는 연결 요소이다. 트리에는 여러 성질이 있다. 예를 들어, 트리는 정점이 n개, 간선이 n-1개 있다. 또, 임의의 두 정점에 대해서 경로가 유일하다. 그래프가 주어졌을 때, 트..

    [백준] 1167 - 트리의 지름 (자바/Java)

    문제 링크 성능 요약 메모리: 87924 KB, 시간: 820 ms 분류 깊이 우선 탐색(dfs), 그래프 이론(graphs), 그래프 탐색(graph_traversal), 트리(trees) 문제 설명 트리의 지름이란, 트리에서 임의의 두 점 사이의 거리 중 가장 긴 것을 말한다. 트리의 지름을 구하는 프로그램을 작성하시오. 입력 트리가 입력으로 주어진다. 먼저 첫 번째 줄에서는 트리의 정점의 개수 V가 주어지고 (2 ≤ V ≤ 100,000)둘째 줄부터 V개의 줄에 걸쳐 간선의 정보가 다음과 같이 주어진다. 정점 번호는 1부터 V까지 매겨져 있다. 먼저 정점 번호가 주어지고, 이어서 연결된 간선의 정보를 의미하는 정수가 두 개씩 주어지는데, 하나는 정점번호, 다른 하나는 그 정점까지의 거리이다. 예를 ..

    [백준] 1300 - K번째 수 (자바/Java)

    문제 링크 성능 요약 메모리: 12960 KB, 시간: 148 ms 분류 이분 탐색(binary_search), 매개 변수 탐색(parametric_search) 문제 설명 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B의 인덱스는 1부터 시작한다. 입력 첫째 줄에 배열의 크기 N이 주어진다. N은 105보다 작거나 같은 자연수이다. 둘째 줄에 k가 주어진다. k는 min(109, N2)보다 작거나 같은 자연수이다. 출력 B[k]를 출력한다. 이분 탐색을 활용하는 문제다. 이분 탐색 개념에 대해서 대충은 알고 있었는데 이 문제에 ..

    [BackEnd] Cookie & Session 쿠키 세션

    목차 HTTP 프로토콜 특징 비연결 지향형 통신 프로토콜 응답 후 연결을 종료(stateless) 지속적인 연결 유지로 인한 자원낭비 방지를 위해 연결 해제 연결이 해제되면 서버는 클라이언트 정보를 알 수 없음 이 문제를 해결하기 위해 Cookie와 HttpSession을 활용함 쿠키 javax.servlet.http.Cookie 서버가 생성하는 클라이언트 정보를 가지고 있는 파일 클라이언트 컴퓨터에 저장, 필요에 따라 요청 시 서버로 같이 전송됨 key-value 형태로 구성, 문자열 데이터 브라우저(클라이언트) 별로 별도의 쿠키가 생성 (브라우저가 다르면 다른 사용자로 처리) 세션관리를 위해 사용됨 사용자마다 다른 페이지를 보여줄 수 있다 사용자의 행동과 패턴을 분석하고 기록하는 데 사용됨 (사용자가..

    [BackEnd] Servlet & JSP

    목차 참고 URL(Uniform Resource Locator) 웹 상의 자원을 참조하기 위한 웹 주소 웹 페이지: 웹 브라우저를 통해 보여지는 화면 웹 서버: 클라이언트 요청에 맞는 응답(웹 페이지)를 제공 웹 어플리케이션: 웹 서버를 기반으로 실행되는 응용 소프트웨어 웹 어플리케이션 서버(WAS): 요청이 오면 알맞은 프로그램을 실행하여 응답 만들고 제공하는 서버 URL http://localhost:8080/Back01_Hello/HelloServlet localhost=내 컴퓨터 주소 8080=포트 번호 Back01_Hello: context path HelloServlet: 들어온 요청 Servlet 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램 웹 서버의 성능을 향상하기 위해 사..

    [네트워크] GET 방식과 POST 방식의 차이

    목차 GET방식과 POST 방식 https://cocoon1787.tistory.com/526 https://mommoo.tistory.com/60 HTTP 웹상에서 클라이언트와 서버 간에 데이터를 주고받을 수 있는 프로토콜 클라이언트가 HTTP 프로토콜을 통해 서버에 요청을 보내면 서버는 요청에 맞는 응답을 클라이언트에게 전송 GET 방식 클라이언트가 서버로 데이터를 요청하기 위해 사용되는 Method ex. http://localhost:3000/login?id=admin&pw=1234 Body부분은 비어 있고 Content-Type 헤더 필드(헤더에 Body의 콘텐츠 타입 명시) 적지 않음 URL 뒤에 쿼리 스트링을 붙이고, HTTP 패킷의 헤더에 포함해서 서버에 데이터 요청 주소에 데이터 노출 (..

    [백준] 14888 - 연산자 끼워넣기 (자바/Java)

    [Silver I] 연산자 끼워넣기 - 14888 문제 링크 성능 요약 메모리: 13276 KB, 시간: 120 ms 분류 백트래킹(backtracking), 브루트포스 알고리즘(bruteforcing) 문제 설명 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷)..

    [자바스크립트] 비동기 처리 방식, 콜백 함수, Promise

    목차 CallBack 함수와 Promise [https://bigtop.tistory.com/35] [https://joshua1988.github.io/web-development/javascript/javascript-asynchronous-operation/] 비동기 처리 특정 코드의 연산이 끝날 때까지 코드의 실행을 멈추지 않고 다음 코드를 먼저 실행 function asyncTest(duration) { setTimeout(() => { // 이 작업을 console.log(duration) }, duration); // duration 경과하면 수행 } asyncTest(2000); asyncTest(1000); //1000 //2000 setTimeout 함수는 duration이 경과하면 작..

    [백준] 4563 - 리벤지 오브 피타고라스 (자바/Java)

    [Gold V] 리벤지 오브 피타고라스 - 4563 문제 링크 성능 요약 메모리: 12928 KB, 시간: 248 ms 분류 수학(math), 정수론(number_theory) 문제 설명 피타고라스의 정리는 직각삼각형의 세 변의 관계를 나타내는 정리이다. 빗변의 길이를 C, 다른 두 변의 길이를 A, B라고 한다면 다음과 같은 식으로 쓸 수 있다. A2 + B2 = C2 세 변의 길이가 모두 자연수인 직각삼각형 중에 가장 유명한 삼각형은 아래와 같다. A = 12인 경우에는 다음과 같이 두 개의 직사각형을 찾을 수 있다. A가 주어졌을 때, 빗변의 길이 C가 자연수인 직각삼각형을 만드는 자연수 B (B > A)는 몇 개가 있을까? 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는..

출처: https://gmnam.tistory.com/157 [Voyager:티스토리]