본문 바로가기

전체 글221

[Effective Java 3/E] 아이템2. 생성자에 매개변수가 많다면 빌더를 고려하라 정적 팩토리와 생성자는 선택적 매개변수가 많을 때 적절히 대응하기가 어렵다. 이를 해결하기위한 몇 가지 대안을 알아보자 점층적 생성자 패턴(telescoping constructor pattern 필수 매개변수와 선택적 매개변수를 조합하여 여러 개의 생성자를 만들어서 사용하는 방식 점층적 생성자 패턴 예제코드 단점 : 점층적 생성자 패턴도 쓸 수는 있지만, 매개변수 개수가 많아지면 클라이언트 코드를 작성하거나 읽기 어려워진다. 자바빈즈 패턴(JavaBeans Pattern) 매개변수가 없는 생성자로 객체를 만들고, setter 메서드를 사용하여 매개변수의 값을 설정하는 방식 자바빈즈 패턴 예제코드 단점 객체를 하나 만드는데 여러 개의 메서드를 호출해야 한다. 객체가 완전히 생성되기 전까진 일관성(cons.. 2021. 5. 14.
[알고리즘] 2-9 격자판 최대합(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-09 문제 설명 : n*n 배열이 주어졌을때 각 행의합, 각 행의 열, 두 대각선의 합 중 가장 큰 값 출력 예습 풀이 package inflearn.array; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; //격자판 최대합 public class Main2_9 .. 2021. 5. 14.
[알고리즘] 2-8 등수 구하기(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-08 문제 설명 : n명의 학생의 점수를 입력받고 등수를 입력된 순서대로 출력(동일 점수는 높은 등수로 처리. 예를 들어 100점이 3명이면 3명 모두 1등이고, 그 다음 사람은 4등) 풀이 이중 for문을 사용하여 다른 사람들과 점수 비교를 통해 등수를 계산 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import jav.. 2021. 5. 14.
[알고리즘] 2-7 점수계산(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-07 문제 설명 : 채점 점수를 출력하는 문제, 연속적으로 정답을 맞출 경우 연속 횟수에 따라 +1 점씩 누적하여 가산점 부여(예: 3문제 연속 맞추면 1점 + 2점 + 3점) 내풀이 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; //점수 계산 public clas.. 2021. 5. 14.
[알고리즘] 2-6 뒤집은 소수(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) 인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 간략한 문제 설명, 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다. 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-06 문제 설명 : n개의 자연수를 입력 받아 각각의 수를 거꾸로 뒤집었을 때 소수면 출력하는 문제 내 풀이 숫자를 뒤집는 방법으로 정수를 문자열로 변환하여 문자열을 뒤집은 후 다시 정수로 변환 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Li.. 2021. 5. 13.