본문 바로가기

분류 전체보기

(108)
2020.9.7일 자 수업 : Iterator, 중첩 클래스 실습 - Iterator git/eomcs-java-project/mini-pms-25 Iterator GoF(Gang of Four)가 고안한 23가지 디자인 중 하나로 자바의 컬렉션 프레임워크에서 컬렉션에 저장되어 있는 요소들을 읽어오는 방법을 표준화한 것이다. 출처: https://thefif19wlsvy.tistory.com/41 [FIF's 코딩팩토리] Iterator의 기능 캡슐화 Client가 실질적으로 어떤 객체를 사용하는 지 몰라도 호출이 가능하도록 한다. 컬렉션의 관리 방식(data structure)에 상관없이 일관된 목록 조회 방법을 제공할 수 있다. 컬렉션을 변경하지 않고도 다양한 방식의 목록 조회 기법을 추가할 수 있다. LinkedList/ArrayList, Stack, Que..
백준 4948번 : 베르트랑 공준 베르트랑 공준류 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하며, 한 줄로 이루어져 있다. (n ≤ 123456) 입력의 마지막에는 0이 주어진다. 1 10 1..
Do it! 자료구조와 함께 배우는 알고리즘 입문 : 1장 기본 알고리즘 알고리즘이란? 세 값의 최댓값 실습 1-1 package com.heejin.doit.ex01; import java.util.Scanner; public class Max3 { public static void main(String[] args) { Scanner stdIn = new Scanner(System.in); System.out.println("세 정수의 최댓값 구합니다."); System.out.print("a의 값 : "); int a = stdIn.nextInt(); System.out.print("b의 값 : "); int b = stdIn.nextInt(); System.out.print("c의 값 : "); int c = stdIn.nextInt(); int max = a; if ..
네이버 2020 신입 개발공채 체크포인트 좋은 내용이 많은데, 날짜가 지나면 페이지가 사라질까봐 여기다가 박제해놓겠다. 네이버에서 강조하는 세가지 키워드 기본기 네이버가 계속 강조하는 기본기, 조금 더 설명해주실 수 있을까요? 지금의 기술 생태계는 변화가 빠르기 때문에 의욕만 앞서 모두 다 경험해보겠다는 태도는 그다지 효율적인 접근 방법이 아닙니다. 이럴수록 기본기에 충실해야만 새로운 기술 흐름에 압도되지 않고, 스스로의 방향성과 페이스로 앞으로 나아갈 수 있습니다. FE, BE, 데이터와 관련해 하루가 멀다 하고 새로운 구현체들이 온갖 미사여구로 무장, 공부하지 않으면 마치 도태될 것 같은 느낌을 줄 텐데, 이들 기저의 구현 철학과 원리를 이해하고, 우리가 사용하려는 응용의 특성에 맞게 잘 활용할 수 있는 연역적인 혜안을 갖추는 것이 바로 기..
백준 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) - 다중 클래스들에서 공통점을 추출하여 하나의 클래스를 정의하고 이 클래스를 상속받게 한다. 일반화 클래스들의 공통 분모를 추출하여 수퍼 클래스를 정의하는 기법이다. 프로그래밍 처음부터 상속을 고려하여 수퍼 클래스를 정의하는 것이 아니라 코드를 리팩토링하는 과정에서 수퍼 클래스를 정의하는 것이기 때문에 초보 개발자에게 적합하다. 보통 일반화를 통해 추출된 수퍼 클래스는 서브 클래스에게 공통 분모를 상속해주는 것이 목적이므로 직접 수퍼클래스의 인스턴스를 생성하고 사용하지 않는다. 그래서 일반화를 통해 도출한 수..