일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- simulation
- 파이썬
- Method
- Binary Search
- bit manipulation
- 코딩테스트
- string
- 구현
- geometry
- array
- Data Structure
- SQL
- Tree
- Math
- implement
- Stack
- sorting
- 코테
- 자바
- Matrix
- java
- hash table
- dynamic programming
- greedy
- Number Theory
- Counting
- Binary Tree
- database
- Class
- two pointers
- Today
- Total
목록array (297)
코린이의 소소한 공부노트
목표: SubrectangleQueries 클래스 내부 구현 - 생성자 - updateSubrectangle 메서드 - getValue 메서드 1. Input 1) 생성자: 2차원 배열 2) updateSubrectangle: int 변수 row1, col1, row2, col2, newValue - 왼쪽 위 좌표 (row1, col1)부터 오른쪽 아래 좌표 (row2, col2) 까지 newValue로 값 변경 3) getValue: int 변수 row, col 2. Output 1) updateSubrectangle: void 2) getValue: 해당 좌표의 int 값 3. Constraint 1) 1
1. Input 1) 오름차순으로 정렬된 int 배열 nums 2. Output 1) 중복이 제거된 후 남은 숫자들의 개수 k 2) 중복이 제거된 숫자들은 nums의 앞쪽에 배치시킴 3) 뒷쪽을 채울 값은 신경쓰지 않음 4) k를 정답 계산기에 넣고 답이 맞는지 확인할 예정 - nums = {0, 0, 1, 2, 2}라고 한다면, 중복이 제거된 후에는 nums = {0, 1, 2, _, _}가 되므로 k = 3이 된다 - 이를 정답 계산기에 넣었을 때, 0번째부터 k-1번째까지 nums[i] == answer[i]인지 확인 3. Constraint 1) nums를 복사해서 이용하는 등 메모리를 더 사용하는 것은 금지 (O(1) extra memory) 2) 1
1. Input 1) int 배열 nums 2) int 변수 target 2. Output 1) nums[i] + nums[j] == target을 만족시키는 int 배열 {i, j} 3. Constraint 1) 2

2차원 배열은 테이블(표) 형태의 데이터를 저장하기 위한 배열로, 1차원 배열 여러 개가 합쳐진 모양이라고 생각하면 된다. 1) 왼쪽 - 길이가 3인 1차원 배열(굵은 테두리)들이 보인다. - 그 1차원 배열이 4줄 쌓여있다. - 즉, 이 테이블의 데이터는 4행 3열이다. - 2차원 배열을 생성할 때는 배열 기호 [ ]를 2개 쓴다. 2) 오른쪽 - 테이블이 여러 개 쌓여있다. - 2차원 배열이 여러 개 모이면 3차원 배열이 된다. 그럼 2차원 배열의 인덱스는 어떻게 봐야 하는 걸까? 1) 행 - 가로로 한 줄이 한 행을 나타낸다. 그래서 행 인덱스는 세로로 쓰게 된다. - 4행이므로 행 인덱스의 범위는 0 ~ 4-1 -> 0부터 3까지다. 2) 열 - 세로로 한 줄이 한 열을 나타낸다. 그래서 열 인덱..

배열은 같은 타입의 변수가 여러 개 붙어있는 형태이기 때문에, 반복문을 쓰기에 아주 좋다. 1. 평균 구하기 // 1) 필요한 변수 생성 int sum = 0; // 총합 float average = 0f; // 평균 // 2) 평균을 구할 점수들을 int배열에 입력 int[] score = {50, 80, 75, 100, 90, 60}; // 3) 점수들을 모두 합해 sum에 저장 for ( int i=0; i 0번째에 저장 num[n] = tmp; // tmp의 값 -> n번째에 저장 } // 3) 섞은 결과 확인해보기 System.out.println(Arrays.toString(num)); // [4, 1, 5, 8, 4, 2, 0, 6, 3, 7, 9] 0번만 바꾸는 게 이상하다면, 아래 그림을..

배열은 생성하면 자동 초기화가 된다. 초기화 값은 배열 타입의 기본값이다. 예를 들어 int 타입 배열을 생성하면 int의 기본값인 0으로 초기화가 된다. 왜 자동 초기화를 시키는지 궁금할 것이다. 변수도 그렇고 배열도 초기화를 해야 사용 가능하다. 그렇지만 변수와는 다르게 배열은 값이 여러 개이기 때문에 자동 초기화가 되지 않는다면 우리가 하나하나 정성스럽게 초기화를 시켜주는 작업을 해야 한다. 이런 수고로움을 덜고자 배열 생성 시 해당 타입의 기본값으로 자동 초기화를 시켜놓고, 사용자가 원하는 대로 값을 저장하게끔 해놓았다. 배열에 값을 초기화(처음으로 값을 저장)하는 방법은 다음과 같다. int[] arr = new int[6]; // 길이가 6인 int타입 배열 생성 // 1) 각 요소에 직접 저..

배열이란 같은 타입인 여러 개의 변수를 하나로 묶어놓은 것을 말한다. 쉽게 말하면 변수들이 줄줄이 소시지처럼 붙어있는 것이다. 배열을 선언할 때는 다음 2가지 방법 중 하나를 골라서 하면 된다. 배열을 선언한다는 것은 배열을 다루기 위한 참조변수를 선언한다는 것이다. // 1) 타입[] 변수이름; int[] num; String[] text; // 2) 타입 변수이름[]; int num[]; String text[]; 1) 자바에서는 배열기호 [ ]를 타입의 일부분으로 보기 때문에 대괄호를 타입 옆에 쓴다. 이 설명을 듣고 봐서 그런지 코드를 읽을 때도 int배열 num으로 읽히니 더 편한 것 같은 생각이 든다. 2) C언어에서 쓰는 방법을 함께 지원한다. 배열을 선언했을 때 배열을 다루기 위한 참조변수..