분류 전체보기 381

[백준 - 2096] 내려가기 - Java

문제 설명 2096번: 내려가기 첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 숫자가 세 개씩 주어진다. 숫자는 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 중의 하나가 된다. www.acmicpc.net 접근 방법 다이나믹 프로그래밍(메모이제이션 기법)을 통해 문제를 해결할 수 있었습니다. 어떻게 값을 메모이제이션 할 수 있을까 고민하던 중 그림으로 그려보다가 아이디어를 떠올릴 수 있었습니다. 위 그림을 통해 다음과 같은 사실을 알 수 있습니다. 세 개의 칸 중 왼쪽 칸의 값은 바로 위 칸의 값과 그 오른쪽 칸의 값에만 의존적입니다. 세 개의 칸 중 가운데 칸의 값은 위에 있는 세 개의 칸 값에 의존적입니다. 마지막으로, 세 개의 칸 중 오른쪽 칸의 값은 바로 위 ..

Algorithm/BOJ 2022.07.28

[프로그래머스] 양궁대회 - Java

문제 설명 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근 방법 우선 인자로 주어진 화살 n발에 대해서 백트래킹을 통해 라이언이 0점 ~ 10점에 대해 쏠 수 있는 모든 경우의 수를 탐색하도록 했습니다. private void bow(int[] lionInfo, int index, int depth) { if (depth == n) { return; } for (int i = 0; i = lionInfo[i]) { apache += score; } else { lion += score; } } return apache - lion; } 위에서 구한 점..

[백준 - 1405] 미친 로봇 - Java

문제 설명 1405번: 미친 로봇 첫째 줄에 N, 동쪽으로 이동할 확률, 서쪽으로 이동할 확률, 남쪽으로 이동할 확률, 북쪽으로 이동할 확률이 주어진다. N은 14보다 작거나 같은 자연수이고, 모든 확률은 100보다 작거나 같은 자 www.acmicpc.net 접근 방법 해당 문제는 DFS를 통한 백트래킹을 이용하여 해결할 수 있었습니다. 우선 로봇이 이동하는 평면을 나타내야 하는데, 로봇은 이 평면의 중심상에서 출발하여 동, 서, 남, 북 각각의 방향으로 이동할 수 있어야 합니다. 이때 이러한 평면의 전체 크기는 주어지는 정수 n의 크기와 규칙이 있었습니다. if n = 1, then 3 x 3 board if n = 2, then 5 x 5 board if n = 3, then 7 x 7 board...

Algorithm/BOJ 2022.07.25

2022년 7월 3주차(7/18 ~ 7/22) Weekly I Learned "수료 후 첫 휴가 주간"

지난 한 주 되돌아보기 마스터즈 코스를 수료한지 벌써 3주라는 시간이 지났다. 사실 지난 6월달만 하더라도 마스터즈 코스를 수료하면 당분간은 휴식을 취할려고 했었다. 하지만 수료 직후에는 연이은 코딩테스트로 정신없이 보냈고, 지난 2주차 때는 예상치 못한 과제 시험이 있어 나름의 여유를 만끽하지 못했었다. 하지만 마침내 이번 3주차는 오랜만에 휴가 다운 휴가 주간을 보낼 수 있었다. 장장 월요일부터 목요일까지 쭉 휴식을 만끽했는데, 그동안 꼭 보고싶었던 "영화 탑건: 매버릭"을 마침내 볼 수 있었고, 이외에도 고전(?) 명화인 "라이언 일병 구하기",와 "매트릭스 1"을 아주 감명깊게(?) 감상했다. 이전에 여러번 봤었던 영화이긴 하지만 몇 년만에 다시 보는데, 오히려 더욱 진한(?) 감동이 느껴졌다. ..

JVM이란 무엇인가? JVM 파헤쳐보기

JVM이란 무엇인가? JVM(Java Virtual Machine)은 자바 가상 머신으로서 자바를 실행하기 위한 가상 기계(컴퓨터)라고 할 수 있다. 이때 가상 기계란 소프트웨어로 구현된 하드웨어로서 가상 컴퓨터는 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터라는 뜻으로 생각할 수 있다. 자바로 작성된 프로그램은 모두 이 JVM에서만 실행되기 때문에 자바 프로그램이 실행되기 위해서는 이 JVM이 반드시 필요하다. 이러한 특성으로 자바 프로그램은 OS와 하드웨어에 독립적이라 다른 OS에서도 프로그램의 변경없이 실행이 가능한 장점이 있다. 이러한 특성을 "Write once, run anywhere"라고도 한다. 다만, JVM의 경우에는 운영체제에 종속적이기 때문에 해당 OS에서 실행 가능한 별도..

Technology/Java 2022.07.23