분류 전체보기 133

[백준] 14503 로봇 청소기 - Java

https://www.acmicpc.net/problem/14503 문제 개요로봇 청소기가 주어진 방에서 청소를 시작하며 특정 규칙에 따라 움직입니다. 방의 크기, 로봇 청소기의 초기 위치와 방향, 방의 상태(벽과 빈 칸)가 주어졌을 때, 로봇 청소기가 작동을 멈출 때까지 청소한 칸의 개수를 계산하는 문제입니다.로봇 청소기의 동작 규칙:현재 칸 청소: 현재 위치가 청소되지 않은 빈 칸이면 청소.주변 확인:청소되지 않은 빈 칸이 있으면 반시계 방향으로 90도 회전.회전 후, 앞 칸이 청소되지 않은 빈 칸이면 전진.후진:주변에 청소되지 않은 칸이 없으면, 후진이 가능한 경우 후진.후진이 불가능하면 멈춤. 접근 방법입력 처리 및 초기화:방의 크기와 상태, 로봇의 초기 위치와 방향을 입력받습니다.방의 상태를 저..

문제/백준 2025.01.19

[백준] 14499 주사위 굴리기 - Java

https://www.acmicpc.net/problem/14499 문제 개요이 문제는 크기가 N×M인 지도 위에서 주사위를 굴리며 주어진 명령에 따라 이동시키고, 이동한 후의 주사위 상태를 업데이트하는 시뮬레이션 문제입니다.주사위의 전개도는 주어진 상태를 기반으로 동쪽, 서쪽, 북쪽, 남쪽으로 굴릴 때 각 면의 값을 적절히 변경해야 하며, 주사위가 지도 위를 이동할 때 다음 규칙을 따릅니다:이동한 칸에 쓰여 있는 값이 0이면 주사위의 바닥면 값을 그 칸에 복사합니다.이동한 칸에 값이 0이 아니면, 해당 값을 주사위의 바닥면에 복사하고, 칸의 값은 0으로 변경됩니다.주사위가 지도 밖으로 벗어나는 이동 명령은 무시합니다.  접근 방법1. 주사위 전개도의 표현주사위의 전개도를 배열로 표현하여 굴릴 때 각 면..

문제/백준 2025.01.18

[ODOQ] 스케일 업(Scale-Up) , 스케일 아웃(Scale-Out)

[One Day One Question]스케일 업(Scale-Up)과 스케일 아웃(Scale-Out)에 대해서 설명해 주세요. 스케일 아웃(Scale-Out)과 스케일 업(Scale-Up)은 시스템의 성능과 용량을 확장하는 방식에서의 차이를 나타냅니다. 1. 스케일 업 (Scale-Up)개념:기존의 단일 시스템(서버, 데이터베이스 등)의 성능을 높이는 방식.더 강력한 하드웨어(더 빠른 CPU, 더 많은 메모리, 더 큰 디스크 용량 등)로 업그레이드하여 확장.특징:장점:관리가 단순하며 추가적인 소프트웨어 변경이 필요 없을 때가 많음.단일 시스템으로 유지되므로 복잡성이 적음.단점:물리적 하드웨어의 한계에 도달하면 더 이상 확장 불가능.고성능 하드웨어의 비용이 급격히 증가할 수 있음.적용 사례:데이터베이스 서..

cs/ODOQ 2025.01.17

[ODOQ] ACID란?(데이터베이스)

[One Day One Question]ACID에 대해서 설명해 주세요. ACID는 데이터베이스 관리 시스템(DBMS)에서 트랜잭션의 신뢰성과 안정성을 보장하기 위해 정의된 네 가지 속성을 나타냅니다. ACID는 각각 Atomicity, Consistency, Isolation, Durability의 약자입니다. 1. Atomicity (원자성)설명: 트랜잭션이 모두 실행되거나, 전혀 실행되지 않아야 함을 보장합니다.즉, 트랜잭션 내의 작업이 일부만 실행되는 일은 없고, 실패 시 모든 작업이 롤백됩니다.예: 은행에서 계좌 A에서 B로 돈을 이체할 때, A에서 돈이 빠져나갔지만 B에 입금되지 않으면 안 됩니다. 트랜잭션은 둘 다 완료하거나 둘 다 실행하지 않아야 합니다. 2. Consistency (일관성..

cs/ODOQ 2025.01.16

[프로그래머스] 땅따먹기 - Java

https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요'땅따먹기' 게임은 N행 4열로 이루어진 땅(land)에서 진행됩니다. 각 칸에는 점수가 적혀 있고, 1행부터 N행까지 내려가면서 한 번에 하나의 칸을 밟아 내려가야 합니다. 단, 같은 열을 연속해서 밟을 수 없는 규칙이 있습니다. 우리가 해야 할 일은, 주어진 땅에서 점수를 최대화할 수 있도록 게임을 진행하며, 마지막 행에 도달할 때 얻을 수 있는 최대 점수를 구하는 것입니다.  접근 방법이 문제는 **동적 계획법(DP)**을 활용..

[ODOQ] REST란?

[One Day One Question]REST에 대해서 설명해 주세요.REST(Representational State Transfer)는 웹 서비스 설계를 위한 아키텍처 스타일로, 클라이언트와 서버 간의 통신을 단순하고 효율적으로 하기 위해 설계되었습니다. REST는 HTTP 프로토콜을 기반으로 동작하며, 웹 애플리케이션 개발에서 가장 널리 사용되는 표준 중 하나입니다. 1. REST의 주요 특징자원(Resource) 중심 설계REST에서는 모든 것을 자원으로 간주합니다.자원은 고유한 URI(Uniform Resource Identifier)로 식별됩니다.예:https://example.com/users/123 (사용자 ID 123인 사용자)https://example.com/products/45 (..

cs/ODOQ 2025.01.15

[ODOQ] 로드 밸런싱(Load Balancing)

[One Day One Question]로드 밸런싱(Load Balancing)에 대해서 설명해 주세요. 로드 밸런싱(Load Balancing)은 네트워크 트래픽이나 컴퓨팅 작업을 여러 서버나 리소스에 분산하여 시스템의 성능, 신뢰성, 가용성을 최적화하는 기술입니다. 로드 밸런서는 이를 수행하는 하드웨어 장치나 소프트웨어 애플리케이션을 의미합니다. 로드 밸런싱의 주요 목적성능 향상: 여러 서버가 동시에 작업을 처리하므로 응답 속도와 처리 능력을 개선합니다.가용성 증가: 하나의 서버에 장애가 발생해도 다른 서버가 요청을 처리할 수 있도록 하여 서비스를 중단 없이 유지합니다.확장성: 필요에 따라 서버를 추가하여 트래픽 증가에 유연하게 대응할 수 있습니다.리소스 최적화: 서버 간 작업을 고르게 분산해 특정 ..

cs/ODOQ 2025.01.10

[ODOQ] Connection Timeout, Socket Timeout, Read Timeout

[One Day One Question]Connection Timeout, Socket Timeout, Read Timeout에 대해서 설명해 주세요. Connection Timeout, Socket Timeout, Read Timeout은 네트워크 프로그래밍에서 연결과 통신 과정에서 발생할 수 있는 서로 다른 시간 초과 조건을 나타냅니다  1. Connection Timeout설명:클라이언트가 서버에 연결을 시도할 때, 연결이 완료되기까지 허용되는 최대 시간입니다.이 시간 동안 서버가 응답하지 않으면 연결 시도가 중단되고 오류가 발생합니다.주요 사용 사례:서버가 응답하지 않거나 네트워크 장애로 인해 연결이 지연될 때, 무한히 대기하지 않고 일정 시간 후에 요청을 중단합니다.발생 시점:TCP 연결의 3-..

cs/ODOQ 2025.01.04

[프로그래머스] 가장 많이 받은 선물 - Java

문제https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr  문제 개요주어진 친구 목록과 선물 기록을 바탕으로, 다음 달에 누가 가장 많은 선물을 받을지 계산하는 문제입니다. 두 사람이 선물을 주고받은 횟수와, 주고받은 기록이 없을 경우 각자의 선물 지수를 비교하여 규칙에 따라 선물을 받는 사람을 결정합니다. 가장 많은 선물을 받을 친구가 받을 선물의 개수를 반환해야 합니다.  접근 방법데이터 초기화 및 매핑give와 receive라는 두 개의 맵을 사용해 각 친구가 준 선물과 받은 선물의 기록을..

[ODOQ] WAS, 웹 서버

[One Day One Question]WAS와 웹 서버에 대해서 설명해 주세요. 1. 기본 개념웹 서버HTTP 프로토콜을 사용해 클라이언트(브라우저)와 통신하는 서버입니다.주로 정적인 콘텐츠(HTML, CSS, JS, 이미지 파일 등)를 제공하는 데 사용됩니다.예: Apache HTTP Server, NginxWAS (Web Application Server)동적인 콘텐츠를 생성하고 실행할 수 있는 서버로, 웹 서버의 역할을 포함하면서 추가적으로 애플리케이션 로직을 처리합니다.클라이언트의 요청에 따라 데이터베이스와 상호작용하거나 비즈니스 로직을 수행합니다.예: Tomcat, JBoss, WebSphere, WebLogic 2. 기능웹 서버정적 파일을 클라이언트에게 전송.리버스 프록시 역할 수행 가능.클..

cs/ODOQ 2025.01.03