일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- nurigo
- 값 객체
- 스터디 관리
- 자바
- REST
- 정렬 기준
- Spring
- NAVER D2
- 스프링
- 문자 인증
- Java
- 위키 탭
- ssh
- 스트림
- 위키 꾸미기
- OpenAI
- DNS동작원리
- 사이드 프로젝트
- 셀레니움
- 숭실대
- 잘하고싶다..
- 프로그래머스
- 인턴
- aws ec2
- Executors
- 현장실습
- 개발자 디자인
- excalidraw
- 스프링 회원가입 인증
- 현장실습 IT
- Today
- Total
목록자바 (15)
뭐요
정적 팩토리 메소드 (static factory method)란?정적 팩토리 메소드를 사용하면 객체를 생성하기 위해 직접 new 키워드를 사용하여 생성자를 호출하지 않습니다.기존의 public 생성자는 접근 지정자를 private으로 바꾸어 외부에 감추고, static method를 사용해서 간접적으로 생성자를 호출해 객체를 생성하는 것이 정적 팩토리 메소드 입니다. 아래 코드는 Boolean class에서 사용한 정적 팩토리 메소드 입니다.public static Boolean valueOf(boolean b){ return b ? Boolean.TRUE : Boolean.FALSE; } 왜 사용할까?‘이펙티브 자바’에서 가장 첫 번째 챕터는 다음과 같다.생성자 대신 정적 팩토리 메서드를 고려하라 1...

Stream실제의 입력이나 출력이 표현된 데이터의 이상화된 흐름자바에서는 파일, 시스템 입출력을 직접 다루지 않고 스트림이라는 흐름을 통해 다룹니다. 따라서 프로그램과 외부 시스템 사이의 중간 매개자라고 할 수 있습니다.한 방향으로만 통신이 가능합니다. 따라서 입력 스트림과 출력 스트림으로 나눌 수 있습니다.java.io 패키지에서 입력 스트림과 출력 스트림 클래스를 별도로 제공합니다. 출처 : https://hudi.blog/java-inputstream-outputstream/ 자바의 Streamjava.io 패키지에서 다양한 출력 스트림을 제공합니다.크게 바이트 단위의 입출력 스트림과 문자 단위의 입출력 스트림으로 나눌 수 있습니다. 바이트 단위문자, 그림, 영상 등 다양한 형태의 데이터를 주고 받..
What is the ‘Stream’ ?‘데이터의 흐름’ 으로 해석할 수 있는 스트림(Stream)은 자바 8에서 추가 되었습니다.일반적으로 배열과 컬렉션은 for 혹은 foreach를 통해 요소를 하나씩 꺼내는데, 스트림을 활용하며 보다 간결하게 코드를 작성할 수 있게 되었습니다. 이후에 알아보겠지만 간결한 코드 작성 외에도 병렬 처리가 가능합니다. Stream Class특징1. 원본의 데이터 변경 X기존에 컬렉션을 정렬하는 방식과 Stream을 이용하여 정렬하는 방식입니다. 전자의 경우는 원본 데이터 자체가 바뀌지만 후자는 그렇지 않습니다.// 기존의 방식 List list = Arrays.asList(4, 6, 2, 3); Collections.sort(list); System.out.println..
https://school.programmers.co.kr/learn/courses/30/lessons/67257 first-tryexpression 순회해당 char가 operator면 좌우에 있는 operand를 while문 사용해서 가져오기이 때 operand 가져와서 계산해주고 다시 값을 삽입해주는 코드가 너무 복잡했음expression 자체에서 String의 idx로 접근하면 다음이 너무 복잡함양 옆 oeprand 가져오는 기능 구현계산 후 해당 자리수에 insert 한 뒤 바뀐 expression.length()만큼 고려해서 i를 뺴주어야 함 second-tryList 만들어서 operand와 operator 분리하는 게 구현하기 더 쉽다고 판단import java.util.*; class S..
https://school.programmers.co.kr/tryouts/71876/challenges# 아래와 같은 이유로 시간을 많이 사용함구현하기에는 너무 복잡하다 생각해서 정렬을 통한 묘수가 있을 것이라고 생각했음. 문제를 제대로 이해하지 못함. import java.util.*; class Solution { private List answer = new ArrayList(); public String[] solution(String[] orders, int[] course) { sortOrders(orders); for(int thisCourse : course){ Map map = new HashMap(); // 조합으로 thisCourse개 뽑기 for(String order : order..

https://school.programmers.co.kr/tryouts/71893/challenges first-try오로지 idx를 활용해서 빡구현으로 가볍게 문제 풀었음.import java.util.*; class Solution { List answerList = new ArrayList(); public int[] solution(int[] progresses, int[] speeds) { int idx = 0; while(idx = 100){ int deployment = 0; for(int i = idx; i < progresses.length; i++){ if(progresses[i] < 100) break; de..
https://school.programmers.co.kr/tryouts/71915/challenges# class Solution { public int solution(int n, int k) { int answerCount = 0; String convertKnary = Integer.toString(n, k); for(int i = 0 ; i < convertKnary.length(); i++){ char ch = convertKnary.charAt(i); if(ch == '0') continue; StringBuilder sb = new StringBuilder(); for(; i < convertKnary.length(); i++){ char thisCh = convertKnary.charAt..
https://school.programmers.co.kr/tryouts/71916/challenges import java.util.*; class Solution { private int DEFAULT_TIME, DEFAULT_FEE, UNIT_TIME, UNIT_FEE; private Map map = new HashMap(); // 차량번호 to 입차시각 private Map parkingTimeMap = new HashMap(); private Map feeMap = new HashMap(); public int[] solution(int[] fees, String[] records) { init(fees); // set 차량별 주차시간 총합 StringTokenizer st; for(Strin..

https://school.programmers.co.kr/tryouts/71927/challengesfirst-tryimport java.util.*; class Solution { public String solution(String input_string) { StringBuilder sb = new StringBuilder(); Set set = new HashSet(); for(int i = 0 ; i < input_string.length(); i++){ char thisCh = input_string.charAt(i); if(sb.toString().contains(Character.toString(thisCh))) continue; if(!set.contains(thisCh)){ set.a..

https://school.programmers.co.kr/tryouts/71912/challenges 기존에 백트래킹 사용해서 구했더니 시간 초과났음. 사실 범위가 100만이라 예측했으나 별다른 방법이 떠오르지 않아서 일단 구현했었음.잘 모르겠어서 다른 사람 풀이 참고함 import java.util.*; class Solution { public String solution(String number, int k) { StringBuilder sb = new StringBuilder(); int lastIdx = 0; for(int i = 0 ; i < number.length() - k; i++){ int max = 0; for(int j = lastIdx; j