분류 전체보기 146

[ODOQ] HTTP와 HTTPS의 차이점

[One Day One Question]HTTPS는 HTTP와 어떤 차이점이 있으며, HTTPS가 보안을 강화하는 원리는 무엇인가요?HTTP와 HTTPS의 차이점HTTP와 HTTPS는 인터넷에서 데이터를 주고받는 데 사용되는 프로토콜이지만, 보안 측면에서 큰 차이가 있습니다.1. HTTP (HyperText Transfer Protocol)데이터를 암호화하지 않고 평문(Plain Text)으로 전송합니다.네트워크 상에서 제3자가 데이터를 쉽게 읽거나 조작할 수 있습니다.기본적으로 포트 80번을 사용합니다.2. HTTPS (HyperText Transfer Protocol Secure)HTTP에 SSL/TLS(암호화 프로토콜)를 결합하여 데이터를 암호화하여 전송합니다.제3자가 데이터를 읽거나 변조하기 매우..

cs/ODOQ 2024.11.24

[프로그래머스] 멀쩡한 사각형 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/62048#  문제 개요주어진 문제는 가로 길이 W와 세로 길이 H인 직사각형 종이가 대각선으로 잘려, 두 개의 직각삼각형으로 나뉜 상태에서 시작합니다. 이 종이에서 1cm × 1cm 크기의 정사각형으로 잘라낼 수 있는 최대 개수를 구하는 것입니다. 대각선에 의해 사용 불가능한 정사각형들을 제외한 나머지 정사각형의 수를 계산하는 문제입니다. 접근 방법대각선이 지나가는 칸의 수는 직사각형의 가로(W)와 세로(H)를 고려하여 계산됩니다.대각선이 지나가는 격자 칸의 총 개수는, 다음과 같은 성질을 기반으로 계산됩니다 W+H−gcd(W,H) 왜 이렇게 계산할까?1. 대각선의 경로직사각형의 한 모서리에서 반..

[프로그래머스] 가장 큰 정사각형 찾기 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/12905 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요주어진 2차원 배열 board에서 1과 0으로 이루어진 가장 큰 정사각형의 넓이를 계산하는 문제입니다. 접근 방법이 문제는 동적 계획법(Dynamic Programming, DP)을 사용하여 효율적으로 해결할 수 있습니다. 1. DP 배열 초기화:입력 배열과 같은 크기의 DP 배열을 생성합니다. DP 배열의 각 요소는 해당 위치에서 끝나는 가장 큰 정사각형의 한 변의 길이를 저장합니다.2. 기본 조건 설정:배열의 첫 번째 행과 첫..

[프로그래머스] 리코쳇 로봇 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요이 문제는 리코쳇 로봇이라는 보드게임을 기반으로 하고 있습니다. 게임의 목표는 격자 모양의 게임판에서 주어진 위치에 있는 로봇("R")을 특정 목표 위치("G")로 이동시키는 것입니다.규칙로봇은 한 번에 상, 하, 좌, 우 방향 중 하나로 움직이며 장애물("D")이나 게임판 가장자리에 닿기 전까지 멈추지 않습니다."R"에서 "G"로 도달하기 위해 필요한 최소 이동 횟수를 계산합니다.목표 지점에 도달할 수 없을 경우 -1을 반환합..

[ODOQ] 엔티티 매니저란?

[One Day One Question]엔티티 매니저란?엔티티 매니저(Entity Manager)는 JPA(Java Persistence API)에서 제공하는 핵심 인터페이스로, 엔티티와 데이터베이스 간의 상호작용을 관리하는 역할을 합니다. 엔티티 매니저를 통해 애플리케이션은 데이터베이스와의 CRUD(Create, Read, Update, Delete) 작업을 수행할 수 있습니다.주요 기능 및 역할엔티티 생명주기 관리엔티티 매니저는 엔티티의 상태(비영속, 영속, 준영속, 삭제)를 관리합니다.비영속(New/Transient): 엔티티가 영속성 컨텍스트에 포함되지 않은 상태.영속(Managed): 영속성 컨텍스트에서 관리되는 상태.준영속(Detached): 영속성 컨텍스트에서 분리된 상태.삭제(Removed..

cs/ODOQ 2024.11.22

Priority Queue(우선순위 큐)

우선순위 큐(Priority Queue)란?우선순위 큐(Priority Queue)는 각 요소가 특정 우선순위를 가지며, 가장 높은 우선순위를 가진 요소가 먼저 처리되는 자료 구조입니다. 일반적인 큐(First In, First Out)와는 달리, 요소가 삽입된 순서와 관계없이 우선순위에 따라 요소를 꺼냅니다. 우선순위 큐의 특징정렬된 요소 접근:기본적으로 최소 힙(Min-Heap) 구조를 사용하여 오름차순으로 요소를 정렬합니다.요소를 꺼낼 때마다 현재 큐에서 가장 작은 값이 반환됩니다.시간 복잡도:삽입(offer) 및 제거(poll) 연산: O(log⁡n)최댓값 또는 최솟값 조회(peek): O(1)구현 방식:내부적으로 이진 힙(Binary Heap)을 기반으로 동작합니다. 우선순위 큐기본 우선순위 큐..

cs/자료구조 2024.11.22

[프로그래머스] 디펜스 게임 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요디펜스 게임은 준호가 병사 n명으로 적의 공격을 막는 게임입니다. 게임의 규칙은 다음과 같습니다:병사 소모: 매 라운드마다 enemy[i]마리의 적이 등장하며, 이를 막기 위해 enemy[i]명의 병사가 소모됩니다.병사 부족 시 게임 종료: 만약 남은 병사 수가 등장한 적의 수보다 적다면 게임은 종료됩니다.무적권 사용: 무적권을 사용하면 병사를 소모하지 않고 한 라운드를 막을 수 있습니다. 무적권은 최대 k번 사용할 수 있습니다..

[프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/250121 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요현식이는 주어진 데이터를 분석하고, 특정 조건을 만족하는 데이터를 필터링하고 정렬하는 작업을 진행하고 있습니다. 주어진 데이터는 각 행이 네 개의 값으로 이루어져 있으며, 각 값은 "코드 번호(code)", "제조일(date)", "최대 수량(maximum)", "현재 수량(remain)" 을 의미합니다. 현식이는 이 데이터를 기반으로 다음과 같은 작업을 해야 합니다:특정 열(ext 기준)의 값이 주어진 기준값(val_ext)보..

[ODOQ] JPA의 ddl-auto 옵션

[One Day One Question]JPA의 ddl-auto 옵션은 각각 어떤 동작을 하고 어떤 상황에서 사용해야 할까요? JPA의 ddl-auto 옵션은 Hibernate에서 데이터베이스 스키마를 어떻게 관리할지를 설정하는 옵션입니다. 이 옵션은 application.yml 또는 application.properties 파일에서 설정하며, 다양한 환경에서 유용하게 사용할 수 있습니다.주요 옵션과 동작none동작: JPA가 데이터베이스 스키마 생성이나 수정 작업을 수행하지 않음.사용 상황: 이미 정의된 스키마를 사용하고, 애플리케이션이 데이터베이스 스키마를 변경하지 않아야 하는 프로덕션 환경.validate동작: 엔티티와 데이터베이스 스키마가 일치하는지 검증.사용 상황: 스키마는 외부에서 생성하고, ..

cs/ODOQ 2024.11.22

[프로그래머스] [PCCP 기출문제] 2번 / 석유 시추 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요문제는 세로 n, 가로 m의 격자에서 석유가 묻힌 땅을 분석하여, 수직으로 한 줄 시추관을 설치했을 때 뽑을 수 있는 석유량이 최대가 되는 위치를 찾는 것입니다.석유는 상하좌우로 연결된 1의 집합(덩어리)로 표현됩니다. 시추관이 지나는 열에서 해당 석유 덩어리에 포함된 모든 석유를 뽑을 수 있습니다.최종적으로, 각 열에 대해 가능한 석유량을 계산하고 그중 최대값을 반환합니다. 접근 방법1. 덩어리 구분 및 크기 계산주어진 격자 ..