본문 바로가기

자바

(36)
백준 2581번 - 소수 소수 문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 입력 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. 60 100 출력 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. 620 61 내 코드 pa..
백준 1978번 - 소수 찾기 소수 찾기 문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 4 1 3 5 7 출력 주어진 수들 중 소수의 개수를 출력한다. 3 내 코드 package com.heejin.baekjoon.ex09; import java.util.Scanner; public class No1978 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); boolean[] sosus = sosus(1, 1000); int num = sc.nextInt(); int count ..
2020.9.4일자 수업 : 인터페이스, 싱글톤 인터페이스 git/eomcs-java-basic/src/main/java com.eomcs.oop.ex09 git/eomcs-java-basic/src/main/java com.eomcs.oop.ex10.b 다중 상속 ● 일반 클래스의 단일상속 클래스 사이의 다중 상속이 안되는 것은 상속을 받은 상위 클래스들이 같은 메서드를 갖고 있다고 가정하면, 이 메서드를 호출할 때 둘 중 어떤 것을 호출한 것인지 구별할 수 없기 때문이다. 안녕하세요ㅕㅛ 야 너 왜 혼자 쿠크다스 다 쳐먹야 뒤지고 시펑?> ● 인터페이스의 다중상속 그러나 인터페이스는 다중 상속이 가능하다. 어차피 메서드가 구현이 되지 않았으므로, 두 인터페이스의 메서드를 하나의 메서드로 상속받아도 문제가 없기 떄문이다. 그러나 다중 상속을 하되, 리..
2020.9.3일자 수업 : 추상클래스, 인터페이스 실습 - 상속 상속 관계를 구현하는 프로세스 전문화(Specialization) - 하나의 클래스에서 상속받아 추가된 기능들을 가진 클래스들을 다중으로 정읜한다. 일반화(Generalization) - 다중 클래스들에서 공통점을 추출하여 하나의 클래스를 정의하고 이 클래스를 상속받게 한다. 일반화 클래스들의 공통 분모를 추출하여 수퍼 클래스를 정의하는 기법이다. 프로그래밍 처음부터 상속을 고려하여 수퍼 클래스를 정의하는 것이 아니라 코드를 리팩토링하는 과정에서 수퍼 클래스를 정의하는 것이기 때문에 초보 개발자에게 적합하다. 보통 일반화를 통해 추출된 수퍼 클래스는 서브 클래스에게 공통 분모를 상속해주는 것이 목적이므로 직접 수퍼클래스의 인스턴스를 생성하고 사용하지 않는다. 그래서 일반화를 통해 도출한 수..
2020.9.2일자 수업 : 미니 프로젝트 실습 - Stack, Queue 실습 - LinkedList 적용 git/eomcs-java-project/src/mini-pms-19 이번에는 ArrayList 대신 LinkedList를 사용해보려고 한다. LinkedList의 장단점 각 항목들의 연결 고리를 수정하기만 하면 되므로 항목 삽입, 삭제에 걸리는 시간이 ArrayList보다 작다. 배열이 커질 때마다 가비지가 생기는 ArrayLIst에 비해 기존의 객체들을 유지하기 때문에 메모리 관리가 효율적이다. 어떤 항목을 조회할때 첫 항목부터 원하는 항목까지 모두 조회하는 과정을 거치므로 항목 조회에 걸리는 시간이 ArrayList보다 크다. 훈련 목표 ArrayList를 쓰던 것을 LinkedList로 대체한다. 1단계 : LinkedList를 사용하기 전에 저번에 실습한 Lin..
백준 1712번 - 손익분기점 문제월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.A, B, C가 주어졌을 때,..
백준 1011번 - Fly me to the Alpha Centauri 문제 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 총 동원하여 개발한 공간이동 장치를 탑재하였다. 하지만 이 공간이동 장치는 이동 거리를 급격하게 늘릴 경우 기계에 심각한 결함이 발생하는 단점이 있어서, 이전 작동시기에 k광년을 이동하였을 때는 k-1 , k 혹은 k+1 광년만을 다시 이동할 수 ..
백준 2775번 - 부녀회장이 될테야 문제평소 반상회에 참석하는 것을 좋아하는 주희는 이번 기회에 부녀회장이 되고 싶어 각 층의 사람들을 불러 모아 반상회를 주최하려고 한다.이 아파트에 거주를 하려면 조건이 있는데, “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다” 는 계약 조항을 꼭 지키고 들어와야 한다.아파트에 비어있는 집은 없고 모든 거주민들이 이 계약 조건을 지키고 왔다고 가정했을 때, 주어지는 양의 정수 k와 n에 대해 k층에 n호에는 몇 명이 살고 있는지 출력하라. 단, 아파트에는 0층부터 있고 각층에는 1호부터 있으며, 0층의 i호에는 i명이 산다.입력첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k,..