⏰문제https://school.programmers.co.kr/learn/courses/30/lessons/258712 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 선물을 직접 전하기 힘들 때 카카오톡 선물하기 기능을 이용해 축하 선물을 보낼 수 있습니다. 당신의 친구들이 이번 달까지 선물을 주고받은 기록을 바탕으로 다음 달에 누가 선물을 많이 받을지 예측하려고 합니다. - 두 사람 사이에 더 많은 선물을 준 사람이 선물을 받음 - 선물 기록이 없거나 주고받은 수가 같다면, 선물 지수가 더 큰 사람이 선물 지수가 더 작은 사람에게 받음 - 선물..
자바
❓문제 https://www.acmicpc.net/problem/20291 20291번: 파일 정리 친구로부터 노트북을 중고로 산 스브러스는 노트북을 켜자마자 경악할 수밖에 없었다. 바탕화면에 온갖 파일들이 정리도 안 된 채 가득했기 때문이다. 그리고 화면의 구석에서 친구의 메시지를 www.acmicpc.net 파일정리라는 알고리즘을 푸는데 split(".")을 사용하여 문제를 풀려고 했다. Strint tmp = sbrus.txt; String[] tmp = str.split("."); >> 예상결과 [sbrus, txt] >> 실제 결과 [] 그런데 위와 같은 결과가 나왔다. 왜 이런 결과가 나오는 것일까? 그것은 정규식 표현식에서 .는 임의의 문자열을 의미하기 때문이다. 그래서 예상결과를 원한다면 ..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 와일드 카드 - 하나의 참조 변수로 대입된 타입이 다른 객체를 참조 가능 ArrayList 제한 없음. 모든 타입이 가능.
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. HashMap과 Hashtable - 순서X, 중복(키X, 값O) - Map 인터페이스를 구현. 데이터를 키와 값의 쌍으로 저장 - HashMap(동기화X)은 Hashtable(동기화O)의 신버전 TreeMap은 TreeSet처럼 이진탐색트리이다. ⚝ HashMap - Map인터페이스를 구현한 대표적인 컬렉션 클래스 - 순서를 유지하려면, LinkedHashMap클래스를 사용하면 된다. ⚝ TreeMap - 범위 검색과 정렬에 유리한 컬렉션 클래스 - HashMap보다 데이터 추가, 삭제에 시간이 더 걸림 2. HashMap의 키(key)와 값(value) - 해싱(hashing)기법으로 데이터를 저장. 데이터가 많..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 순서X, 중복X ⚝ HashSet - Set인터페이스를 구현한 대표적인 컬렉션 클래스 - 순서를 유지하려면, LinkedHashSet클래스를 사용하면 된다. ⚝ TreeSet - 범위 검색과 정렬에 유리한 컬렉션 클래스 - (데이터가 많을수록) HashSet보다 데이터 추가, 삭제에 시간이 더 걸림 2. 주요 메서드 ⚝ 생성자 HashSet() HashSet(Collection c) HashSet(int initialCapacity) 초기용량 HashSet(int initialCapacity, float loadFactor) initialCapacity는 초기용량이다. 용량을 초과하면 보통 2배로 늘리는데 언제 늘릴..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. Comparator와 Comparable - 객체 정렬에 필요한 메서드(정렬기준 제공)를 정의한 인터페이스 Comparable 기본 정렬기준을 구현하는데 사용 Comaprator 기본 정렬기준 외에 다른 기준으로 정렬하고자할 때 사용 o1 > o2 : 양수 o1 == o2 : 같다 o1 < o2 : 음수 - compareTo는 o와 this를 비교함. - 정렬(sort)은 두 대상을 비교해서 자리바꿈하는 것을 반복하는 것이다. - compare()와 compareTo()는 두 객체의 비교결과를 반환하도록 작성 같으면 0, 오른쪽이 크면 음수(-), 작으면 양수(+) 오름차순은 1,2,3,4....순이다. 따라서 7,..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 배열을 다루기 편리한 메서드(static) 제공 비슷한 것으로 Math, Objects, Collections라는 클래스가 있고 유용한 메서드를 제공한다. ⚝ 배열의 출력 - toString() static String toString(boolean[] a) static String toString(byte[] a) static String toString(char[] a) static String toString(short[] a) static String toString(int[] a) static String toString(long[] a) static String toString(float[] a) stat..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. Iterator, ListIterator, Enumeration - 컬렉션에 저장된 데이터를 접근(읽어오기)하는데 사용되는 인터페이스 - Enumeration은 Iterator의 구버전 - ListIterator는 Iterator의 접근성을 향상시킨 것 (단방향 -> 양방향) ⚝ Iterator 인터페이스의 메서드 메서드 설명 boolean hasNext() 읽어 올 요소가 남아있는지 확인. 있으면 true, 없으면 false 반환 Object next() 다음 요소를 읽어온다. next()를 호출하기 전에 hasNext()를 호출해서 읽어 올 요소가 있는지 확인하는 것이 안전 void remove() next()로..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. Stack과 Queue의 활용 ⚝ 스택의 활용 예 수식계산, 수식괄호검사, 워드프로세서의 undo/redo, 웹브라우저의 뒤로/앞으로 ⚝ 큐의 활용 예 최근사용문서, 인쇄작업 대기목록, 버퍼 (buffer) ⍟실습1 Stack 더보기 package etc; import java.util.EmptyStackException; import java.util.Stack; public class Ex11_3 { public static void main(String[] args) { // if(args.length != 1){ // System.out.println("Usage:java Ex11_3 \"EXPRESSION\..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 스택과 큐 (Stack & Queue) - 스택 (Stack) : LIFO 구조. 마지막에 저장된 것을 제일 먼저 꺼내게 된다. - 큐 (Queue) : FIFO 구조. 제일 먼저 저장한 것을 제일 먼저 꺼내게 된다. 스택 - 밑이 막힌 상자 - 저장할 때와 추출할 때 순서가 반대 큐 - 양끝이 뚫린 상자 - 저장할 때와 추출할 때 순서가 동일 Stack과 Queue를 구현한다고 할 때, 배열과 LinkedList 중 어느 것이 더 효율적일까? Stack은 배열이고, Queue는 LinkedList이다. 2. 스택과 큐 (Stack & Queue)의 메서드 ⚝ Stack의 메서드 메서드 설명 boolean empty..