전체 글153 [백준] 1600 말이 되고픈 원숭이 : 자바 BFS [골드 5] ✔️ 문제 설명 (펼치기)더보기문제동물원에서 막 탈출한 원숭이 한 마리가 세상구경을 하고 있다. 그 녀석은 말(Horse)이 되기를 간절히 원했다. 그래서 그는 말의 움직임을 유심히 살펴보고 그대로 따라 하기로 하였다. 말은 말이다. 말은 격자판에서 체스의 나이트와 같은 이동방식을 가진다. 다음 그림에 말의 이동방법이 나타나있다. x표시한 곳으로 말이 갈 수 있다는 뜻이다. 참고로 말은 장애물을 뛰어넘을 수 있다. x x x x 말 x x x x 근데 원숭이는 한 가지 착각하고 있는 것이 있다. 말은 저렇게 움직일 수 있지만 원숭이는 능력이 부족해서 총 K번만 위와 같이 움직일 수 있고, 그 외에는 그냥 인접한 칸으로만 움직일 수 있다. 대각선 방향은 인접한 칸에 포함되지 않는다.이제 원숭이는.. 2024. 9. 29. [백준] 15486 퇴사2 (자바) : DP [골드 5] ✔️ 문제 설명 (펼치기) 더보기더보기문제상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다.오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다.백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다.각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다.N = 7인 경우에 다음과 같은 상담 일정표를 보자.35112421020102015402001일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다.상담을 하는데 필요한 기간은 1일보다 클 .. 2024. 9. 17. [CS 스터디 질문] 컴파일(Compile), 런타임(Runtime) ✔️ 컴파일(Compile) 이란?컴파일(compile)은 개발자가 프로그램을 위해 작성한 소스 코드를 다른 프로그램 또는 기계(Hardware)가 처리하기 용이한 형태로 바꾸는 과정을 의미한다. 컴파일 언어에는 Java, C, C++ 등이 있으며, 실행(런타임)되기 위해서는 반드시 컴파일(Compile) 과정을 거쳐야한다. C, C++ 컴파일러에서는 기계어로 번역된 실행 파일(예: .exe 파일)이 생성된다.자바 같은 경우는 소스 코드가 바이트코드로 변환되어 .class 파일로 저장된다. 반면에, JavaScript, Php, Python 같은 언어들은 스크립트 언어이며 컴파일 과정없이 기계어로 번역되는 즉시 동작된다. 컴파일을 진행하는 일련의 과정을 컴파일 타임이라고 한다.언제 발생?: 프로그램 실.. 2024. 9. 12. [CS 스터디 질문] 자바의 메모리 & 변수 ✔️ 자바의 메모리 모델 java.exe가 실행되면 자바 가상 머신이 만들어진다. 이때 자바는 메모리 공간의 효율성을 높이기 위해 자바의 사용에 맞게 메모리 공간을 여러 영역으로 나눈다. 자바 프로그램이 확보한 메모리 영역은 크게 메서드(method) 영역, 스택(stack) 영역, 힙(heap) 영역 으로 구분하여 사용한다. ➕ 메서드(Method) 영역 = Static 영역 - 모든 스레드가 공유해서 사용하는 영역프로그램 실행에 대한 코드, 정적(static) 변수 및 메서드, 생성자, 런타임 상수 풀 등이 메서드 영역에 생성된다. 런타임 상수 풀 : 리터럴 상수나 메서드 및 필드 참조 등의 정보가 저장되는 테이블프로그램 시작 전에 로드되고 프로그램 종료 시 소멸된다. JVM에 의해 하나만 존재하며,.. 2024. 9. 5. [네트워크] HTTP 프로토콜 개요 & HTTPS ✔️ HTTP 프로토콜이란?HTTP(Hypertext Transfer Protocol)는 인터넷 상에서 데이터를 주고 받기 위해 서버/클라이언트 모델을 따르는 프로토콜이다. ✔️ HTTP 프로토콜의 특징TCP/IP 기반에서 동작하는 응용 프로토콜이다. 연결 상태를 유지하지 않는 비연결성(connectionless) 프로토콜이다. 상태가 없는 무상태(stateless) 프로토콜이다. 요청/응답 방식으로 동작한다. ➕ 비연결성(Connectionless) 클라이언트와 서버가 한 번 연결을 맺은 후, 클라이언트 요청에 대해 서버가 응답을 마치면 맺었던 연결을 끊는다. 장점불특정 다수를 대상으로 하는 서비스에 적합한 방식이다. 수십 만 명이 웹 서비스를 사용하더라도 접속 유지는 최소한으로 할 수 있기 때.. 2024. 9. 4. [운영체제] 메모리 구조 이번 포스팅에서는 메모리 구조에 대해서 상세하게 알아보자 ! ▸ 메모리의 구조를 영역에 따라서 설명▸ 힙(Heap) 영역과 스택(Stack) 영역 차이▸ 메모리의 힙 영역을 너무 크게 잡으면? ✔️ 메모리 구조먼저, 프로세스가 실행되기 위해서는 먼저 프로그램이 메모리에 적재되어야 한다. 프로그램을 실행하게 되면, 하드 드라이브(저장장치)에 저장되어 있는 프로그램을 메모리(RAM)으로 옮긴다. 이때, 운영체제는 각 프로그램이 필요한 만큼의 메모리(RAM) 공간을 할당해준다. 이때 할당된 메모리 공간(RAM)은 크게 코드(Code), 데이터(Data), 스택(Stack), 힙(Heap) 영역으로 나뉜다. ➕ 코드(Code) 영역실행될 프로그램의 실제 코드가 저장되는 영역이다. 텍스트 영역이라고도 부른다. .. 2024. 9. 3. 이전 1 ··· 6 7 8 9 10 11 12 ··· 26 다음