본문 바로가기

분류 전체보기370

[PS] 백준 1103/피보나치 함수 - 자바 풀이 백준 1103 자바 문제 다음 소스는 N번째 피보나치 수를 구하는 C++ 함수이다. int fibonacci(int n) { if (n == 0) { printf("0"); return 0; } else if (n == 1) { printf("1"); return 1; } else { return fibonacci(n‐1) + fibonacci(n‐2); } } fibonacci(3)을 호출하면 다음과 같은 일이 일어난다. fibonacci(3)은 fibonacci(2)와 fibonacci(1) (첫 번째 호출)을 호출한다. fibonacci(2)는 fibonacci(1) (두 번째 호출)과 fibonacci(0)을 호출한다. 두 번째 호출한 fibonacci(1)은 1을 출력하고 1을 리턴한다. fib.. 2023. 12. 20.
[PS] 백준 12851/숨바꼭질 2 - 자바 풀이 숨바꼭질2 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 그리고, 가장 빠른 시간으로 찾는 방법이 몇 가지 인지 구하는 프로그램을 작성하시오. 입력 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. 출력 첫째 줄에 수빈이가 동생을 찾는 가장 빠른 시간을 출.. 2023. 12. 20.
[PS] 백준 11049 행렬 곱셈 순서/최대한 자세히 설명해보기 - 자바 풀이 행렬 곱셈 순서 행렬 곱셈 순서에 대한 문제이다. 행렬은 곱 연산시 순서에 상관없이 같은 결과값을 보장하나, 곱셈 순서에 따라 곱셈 연산 횟수가 달라지게 된다. 해당 연산을 최소화 했을 때 몇 번인지 구하는 문제이다. 행렬의 곱셈 순서를 정하는 것은 대표적인 DP알고리즘 사용 사례라고 한다. 이 문제를 혼자 풀기에 실패하였기에 풀이를 보고 이해한 바를 정리한다. 접근 과정을 최대한 자세히 기술하였다. 문제 크기가 N×M인 행렬 A와 M×K인 B를 곱할 때 필요한 곱셈 연산의 수는 총 N×M×K번이다. 행렬 N개를 곱하는데 필요한 곱셈 연산의 수는 행렬을 곱하는 순서에 따라 달라지게 된다. 예를 들어, A의 크기가 5×3이고, B의 크기가 3×2, C의 크기가 2×6인 경우에 행렬의 곱 ABC를 구하는 경.. 2023. 12. 13.
[면접 준비] 운영체제 면접 질문과 답 정리 저는 JAVA 백엔드 개발자, 혹은 React 프론트 엔드 개발자를 목표로 하는 취업 준비생입니다. 면접에서 대답할 주요 관심 주제는 Spring, Java, JavaScript, TypeScript, OS, Network, DB, Docker입니다. 제가 사용해본 기술 중 통합, 정리한 면접 관련 내용을 정리합니다. 틀린 내용이 있다면 댓글로 지적해주시길 바랍니다. 감사합니다 ❓ 운영체제의 역할에는 무엇이 있나요? 더보기 운영체제란 컴퓨터 하드웨어와 응용 프로그램 간의 상호작용을 관리하고 제어하는 역할을 하는 소프트웨어이다. 운영체제의 역할 1. 프로세스 및 CPU 스케줄링 관리 2. 메모리 관리 3. 디스크 관리 4. IO 디바이스 관리 ❓ 커널이 무엇인가요? 더보기 메모리에 상주하는 운영체제의 핵심.. 2023. 12. 11.