💻 Development 408

[백준/BOJ] 1484 - 다이어트

1484 - 다이어트 📌 문제 성원이는 다이어트를 시도중이다. 성원이는 정말 정말 무겁기 때문에, 저울이 부셔졌다. 성원이의 힘겨운 다이어트 시도를 보고만 있던 엔토피아는 성원이에게 새로운 저울을 선물해 주었다. 성원이는 엔토피아가 선물해준 저울 위에 올라갔다. “안돼!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! G 킬로그램이나 더 쪘어ㅜㅠ”라고 성원이가 말했다. 여기서 말하는 G킬로그램은 성원이의 현재 몸무게의 제곱에서 성원이가 기억하고 있던 몸무게의 제곱을 뺀 것이다. 성원이의 현재 몸무게로 가능한 것을 모두 출력하는 프로그램을 작성하시오. 📋 코드 G = int(input()) arr = [int(x**2) for x in range(100001)] left, ..

[자바/Java] 백기선 온라인 스터디 - JVM란 & 자바 파일 실행 방법

자바를 제대로 공부해보고 싶어 어떻게 공부하는 것이 좋을지 찾아보던 중 백기선님의 라이브 스터디를 봤다. 이미 해당 레파지토리에는 스터디 끝낸 사람들이 후기까지 적고 있지만 각 주차마다 목표와 학습 방향이 잘 제시되어 있어 해보기로 마음 먹었다. 목표 자바 소스 파일(.java)을 JVM으로 실행하는 과정 이해하기 학습할 것 JVM이란 무엇인가 컴파일 하는 방법 실행하는 방법 바이트코드란 무엇인가 JIT 컴파일러란 무엇이며 어떻게 동작하는지 JVM 구성 요소 JDK와 JRE 차이 자바 언어의 특징 운영체제에 독립적 기존 언어는 개발된 프로그램을 다른 운영체제에 적용하기 위해 많은 노력이 필요한 반면, 자바는 그렇지 않다. 자바 응용프로그램은 운영체제나 하드웨어가 아닌 JVM하고만 통신하기 때문이다. JV..

[백준/BOJ] 2230 - 수 고르기

2230 - 수 고르기 📌 문제 N (1 ≤ N ≤ 100,000)개의 수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 수열이 라고 하자. 만약 M=3일 경우, 1 4, 1 5, 2 5를 골랐을 때 그 차이가 M 이상이 된다. 이 중에서 차이가 가장 작은 경우는 1 4나 2 5를 골랐을 때의 3이 된다. 📋 코드 N, M = map(int, input().split()) arr = [int(input()) for _ in range(N)] arr.sort() left, right = 0, 0 result = int(2e9) while left < N..

[백준/BOJ] 3020 - 개똥벌레

3020 - 개똥벌레 📌 문제 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 번갈아가면서 등장한다. 아래 그림은 길이가 14미터이고 높이가 5미터인 동굴이다. (예제 그림) 이 개똥벌레는 장애물을 피하지 않는다. 자신이 지나갈 구간을 정한 다음 일직선으로 지나가면서 만나는 모든 장애물을 파괴한다. 위의 그림에서 4번째 구간으로 개똥벌레가 날아간다면 파괴해야하는 장애물의 수는 총 여덟개이다. (4번째 구간은 길이가 3인 석순과 길이가 4인 석순의 중간지점을 말한다) 하지만, 첫 번째 구간이나 다섯 번째 구간으로 날아간다면 개똥벌레는 장애물 일곱개만 파괴하면 된다..

[백준/BOJ] 12891 - DNA 비밀번호

12891 - DNA 비밀번호 📌 문제 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA”는 DNA 문자열이 아니지만 “ACCA”는 DNA 문자열이다. 이런 신비한 문자열에 완전히 매료된 민호는 임의의 DNA 문자열을 만들고 만들어진 DNA 문자열의 부분문자열을 비밀번호로 사용하기로 마음먹었다. 하지만 민호는 이러한 방법에는 큰 문제가 있다는 것을 발견했다. 임의의 DNA 문자열의 부분문자열을 뽑았을 때 “AAAA”와 같이 보안에 취약한 비밀번호가 만들어 질 수 있기 때문이다. 그래서 민호는 부분문자열에서 등장하는 문자의 개수가 특정 개수 이상이여야..