분류 전체보기

이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂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..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 배열의 장단점 ⚝ 장점 배열은 구조가 간단하고 데이터를 읽는 데 걸리는 시간(접근시간, access time)이 짧다. 배열은 연속적이다. 예를 들어, int배열이라고 하면 하나가 4btye이다. 그렇다면 3이라는 데이터를 읽을려고 한다면, 0x100 + 4 * 2를 하면 된다. 즉, 배열주소+ 배열 요소 크기 * 인덱스(n) = 내가 원하는 주소를 알 수 있다. (-> n+1번째 요소를 알 수 있음. n+1인 이유는 index가 0부터 시작하므로 ) ⚝ 단점 1. 크기를 변경할 수 없다. - 크기를 변경해야 하는 경우 새로운 배열을 생성 후 데이터를 복사해야함. (코드로 작성은 못 해도 설명은 해야함. ) ① 더 ..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. ArrayList - ArrayList는 기존의 Vector를 개선한 것으로 구현원리와 기능적을 동일 ArrayList와 달리 Vector는 자체적으로 동기화처리가 되어 있다. - List인터페이스를 구현하므로, 저장순서가 유지되고 중복을 허용한다. - 데이터의 저장공간으로 배열을 사용한다. (배열 기반) 더보기 Vector를 자세히 살펴보면 객체 배열이 있다. Object(객체) 배열에는 모든 종류의 객체를 저장할 수 있음 2. ArrayList의 메서드 ⚝ 생성자 - ArrayList() : 기본 생성자 - ArrayList(Collection c) : 매개변수로 컬렉션을 주면, 컬렉션에 저장된 것을 ArrayL..
유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 컬렉션 프레임(collections framework) ⚝ 컬렉션 collection 여러 객체(데이터)를 모아 놓은 것을 의미 ⚝ 프레임웍 framework 표준화, 정형화된 체계적인 프로그래밍 방식 생산성, 유지보수가 쉬워짐 ⚝ 컬렉션 프레임웍(collectios framework) - 컬렉션(다수의 객체)을 다루기 위한 표준화된 프로그래밍 방식 - 컬렉션을 쉽고 편리하게 다룰 수 있는 다양한 클래스를 제공 객체를 다룬다? 다수의 데이터를 저장, 삭제, 검색, 정렬 등을 할 수 있다는 것 - java.util패키지에 포함. JDK1.2부터 제공 ⚝ 컬렉션 클래스(collection class) - 다수의 데이터를 저장할 ..
알고리즘을 푸는데 결과를 출력할 때 나는 보통 아래와 같이 풀었다. for(int i=0; i< N; i++){ System.out.println(arr[i]); } 그런데 문제에서 시간 초과가 났다. 찾아보니 정렬 알고리즘을 제외하고도 저 출력문에도 문제가 있다는 것을 알게 되었다. 다른 사람들 풀이를 찾아보니 출력을 할 때, StringBuilder를 사용해서 풀었다. 그런데 나는 똑같이 for문을 사용하는데 왜 단순 print문은 안 되고, StringBuilder는 되는 걸까?에 대한 의문을 가지게 되었다. 그 이유는 println을 사용하여 출력할 때마다 새로운 라인을 생성하고 출력하는 동작을 수행하는데, 이 과정에서 불필요한 라인 생성 및 출력 작업이 발생하기 때문이다. 그렇기 때문에 연산면에..
깃허브에 main과 docs라는 브랜치가 있는데, docs를 main에 pull request 해주고 docs브랜치를 직접 삭제를 해주었다. 그리고 vscode에서 `git branch -d docs`로 docs 로컬 브랜치를 삭제해 주고 `git branch -a`로 남은 브랜치 목록을 확인했다. 여전히 원격 브랜치인 docs가 남아있어서, 아 업데이트 안 시켜줬지~하면서 `git fetch`를 했다. 그런데 여전히 원격 브랜치인 docs가 남아있었다. 그래서 구글링을 해봤는데, `git fetch --prune`이라는 명령어를 따로 써야된다고 알게 되었다. 즉, remote에 없는 브랜치를 local에도 반영을 해주는 것이다. 참고로 구글에 검색해 보니 prune은 불필요한 가지를 치다라는 뜻을 가지..
⏰문제 시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율 1 초 256 MB 131526 62869 48826 47.98% 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. 출력 첫째 줄부터 N개의 줄에 점을 정렬한 결과를 출력한다. 예제 입력 1 5 3 4 1 1 1 -1 2 2 3 3 예제 출력 1 1 -1 1 1 2 2 3 3 3 4 💡풀..
i_zzy
'분류 전체보기' 카테고리의 글 목록 (5 Page)