2025/04 4

[백준 / Java] 11501 주식

문제https://www.acmicpc.net/problem/11501 문제 개요홍준이는 미래의 주식 가격을 정확히 예측할 수 있지만, 언제 어떤 방식으로 매매를 해야 최대 이익을 얻을지는 모른다.매일 다음 세 가지 행동 중 하나를 할 수 있다.주식을 하나 산다가지고 있는 주식을 원하는 만큼 판다아무것도 하지 않는다주어진 날 별 주식 가격을 보고, 최대 이익을 계산하는 문제이다. 접근 방법이 문제는 뒤에서부터 탐색하는 것이 핵심이다.미래의 주가를 알기 때문에, "앞으로 가장 비싼 날"을 기준으로 현재 주가를 판단할 수 있다.뒤에서부터 탐색하면서, 지금까지 본 주가 중 가장 높은 가격(max)을 기록한다.현재 주가가 max보다 작으면, 지금 매수한 후 max 가격에 판매한다고 가정해 이익을 계산한다.주가..

문제/백준 2025.04.30

[Java] System.in은 한 번만 선언해야 할까?

1. Java에서 데이터를 입력받을 때 사용하는 'System.in' 이게 뭘까? System.in은 "표준 입력 스트림"을 의미"표준 입력"이란?보통 키보드에서 사용자가 입력하는 데이터"스트림(Stream)"이란?데이터가 한 방향으로 흘러가는 통로를 의미즉, System.in은 키보드로 입력한 데이터를 '한 방향'으로 읽을 수 있게 하는 통로 🧠 쉽게 비유해보자System.in = 수도관에 흐르는 물줄기물줄기는 계속 한 방향으로 흐른다. (거슬러 올라갈 수 없음)한 번 지나간 물은 다시 읽을 수 없다.물줄기에 컵(BufferedReader, Scanner 등)을 대서 물(데이터)을 받아오는 것. 📚 System.in의 구조타입: InputStream데이터 단위: Byte(바이트)방향: 읽기 전용(F..

cs/Java 2025.04.29

[Java] JVM, JRE, JDK

🧩 1. JVM (Java Virtual Machine) — Java 실행의 핵심📌 JVM이란?JVM은 Java 프로그램이 실행되는 가상의 컴퓨터입니다.개발자가 작성한 .java 소스 파일은 javac 컴파일러를 통해 바이트코드(.class)로 변환되며, 이 바이트코드는 JVM이 실행합니다.✅ JVM의 역할바이트코드 실행 (실제 OS에서 동작하도록 변환)메모리 관리 (Heap, Stack, Method Area)Garbage Collection (자동 메모리 회수)예외 처리, 멀티스레딩 지원🧠 JVM 내부 구조[ JVM ] ├── Class Loader: .class 파일을 로드 ├── Execution Engine: 명령어 실행 (JIT 컴파일 포함) ├── Memory Area │ ├── ..

cs 2025.04.24

[백준 / Java] 15683 감시

문제https://www.acmicpc.net/problem/15683 문제 개요 이문제는 다양한 종류의 CCTV를 이용해 사무실 공간 내의 사각지대(감시되지 않는 영역)를 최소화하는 시뮬레이션 문제입니다.각 CCTV는 감시 가능한 방향이 정해져 있으며, 회전을 통해 방향을 설정할 수 있습니다. CCTV는 벽을 넘을 수 없지만 다른 CCTV는 통과할 수 있으며, 모든 CCTV의 방향을 적절히 정해 전체 사무실에서 감시되지 않는 빈 칸(0)의 개수를 최소화하는 것이 목표입니다. 접근 방법문제 분석 및 모델링사무실은 2차원 배열 map로 표현됩니다.CCTV는 종류(1~5번)에 따라 감시할 수 있는 방향이 다르며, 이에 따라 각각 가능한 방향 조합(monitor)을 미리 정의해 두었습니다.벽(6)은 감시를 막..