일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 프로그래머스
- 자료구조힙
- java
- 객체프로그래밍
- 알고리즘
- 프렌즈4블록java
- 백준 1924번 java
- 자바
- 백준 1000번 java
- 백준
- Java heap
- 자바문자열
- 백준 1000번
- 카카오1차
- 코딩테스트기출
- 개발상식
- heap정렬
- 코테준비
- 카카오코딩테스트
- 문자열포맷
- 힙정렬자바
- 카카오코테
- 프렌즈4블록
- 객체프로그래밍이란
- 백준 1924번
- 공부정리
- 카카오기출
- heap
- java method
- 자료구조 트리
- Today
- Total
목록전체 글 (96)
일단 시작해보는 블로그
정규표현식은 특정한 조건으로 문자를 검색하거나 바꿀 때 사용된다. 정규 표현식의 예 예를들어 다음과 같은 문자열이 있다고 보면, String str = "안녕하세요. 저는 12345567입니다."; //너무 대충썼.. 이 문자열에서 숫자만 남기고 다 지우고 싶을 때 다음과 같은 식을 쓰면 된다. String result = str.replaceAll("[^0-9]", ""); 여기서 [^0-9]가 정규표현식인데, [] -> 하나의 문자를 의미한다고 보면 편한데, [0-9]라면 0-9숫자, [a-z]는 소문자, [A-Z]는 대문자, [a-zA-Z]는 대소문자 중, 하나 이렇게 생각하면 된다. 0-9 -> 위에서 설명했듯, 범위이다. ^ -> 위의 표현식[^0-9]은 괄호 안에 ^ 표시가 있는데, 이는 반대..
프로그래머스용 코드 import java.util.*; class Solution { static class Node{ int index; double value; Node(int index, double value){ this.index = index; this.value = value; } int printIndex(){ return this.index; } double printValue(){ return this.value; } } public int[] solution(int N, int[] stages) { int[] answer = new int[N]; int[] challenge = new int[N+1]; int[] numOfFailure = new int[N+1]; for(int i=0..
하,......................... 진짜 겨우풀었다. 아니 너무 복잡했어 ㅠㅠ 눈물나ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ흑흑흑.............................................. 운동이나하러가야지.............................................. 프로그래머스용 코드 import java.util.*; class Solution { static int[] crewTimeTable = null; static int[] busTimeTable = null; //stringToMinute()는 역할이 비슷하므로, overloading 해줬음. //String으로 된 크루들의 도착 시간표를 분으로 나타낸 int[] crewTimeTable..
코드 설명 변수/객체 boardC : 입력받은 배열 board를 char배열로 잘라서 char[][] 에 넣음 marked : 한번 루프를 돌 때, 2x2블록이 완성되면 true. 완성된 블록의 개수를 셀 때도 사용됌. finalFlag : 더 이상 2x2블록이 없을 때, finalFlag는 false가 되어 최종 루프를 빠져나가기 위해 사용됌. 메서드 (-> 메서드에 m, n을 넣은 이유는 전역변수로 선언을 하기 번거롭기 때문.) 1 .checkBlock(int m, int n) 2x2가 있는 블록을 체크하고 블록이 완성되면 해당하는 인덱스에 marked[i][j] = true로 표시. 2. processBlock(int m, int n) - > int로 반환 marked값을 보고 true인 것은 제거..
1. Array 배열의 크기는 처음 한번 정하면 변경할 수 없다. 배열 초기화 시 메모리에 할당되어 ArrayList보다 속도가 빠르다. 논리적 저장 순서와 물리적 저장 순서가 일치한다. 따라서 인덱스로 해당 원소에 접근할 수 있다. 그렇기 때문에 찾고자 하는 원소의 인덱스 값을 알고있으면 O(1)로 원소에 접근할 수 있다. 즉, random access가 가능하다는 장점이 있다. 2. ArrayList 크기가 가변적이다. 저장하는 데이터 수에 따라서 크기가 변경된다. 데이터 추가, 삭제가 가능하지만 그마다 메모리를 재할당하기 때문에 속도가 배열보다 느리다. n개의 자료를 저장할 때 ArrayList는 자료들을 하나의 연속적인 묶음으로 묶어 자료를 저장 무작위 접근 가능 사이즈 고정되어 있음 삽입 시, ..
java, bfs로 구현한 코드 전형적인 graph응용문제였고 이에 따라 graph에 대하여 전반적으로 공부했다. IDE용 코드 package codingTest; import java.util.*; class Node{ int x; int y; Node(int x, int y){ this.x = x; this.y = y; } } public class kakao_coloringbook { static boolean[][] marked = null; static int[][] pictures = null; public static int bfs(int i, int j) { //System.out.println(marked[i][j]); int tmpPicture = pictures[i][j]; Syste..
// 방향 없는 그래프, 연결된 그래프 개수 import java.util.ArrayList; import java.util.Scanner; import java.util.Stack; import java.util.List; public class Main { static boolean[] marked = null; static List none_direction_graph = null; //재귀호출 static void dfs(int n){ marked[n] = true; // 자식노드를 linkedNodeArr에 담는다. List linkedNodeArr = none_direction_graph.get(n); for(int i=0; i
schema 디자인 할 때 고려사항 - 사용자 요구(User Requirement)에 따라 schema를 디자인한다. - 객체들을 함께 사용한다면 한 Document에 합쳐서 사용한다. (예: 게시물-덧글과의 관계) 그렇지 않으면 따로 사용한다. (그리고 join을 사용하지 않는걸 확실히 해둔다.) - 읽을 때 join하는게 아니라 데이터를 작성할 때 join한다. RDMS에서 테이블로 구분되어져 사용되는 구조가 NoSQL에서는 모든걸 하나의 Document에 넣는다. RDMS는 NoSQL는 { _id: POST_ID, title: POST_TITLE, content: POST_CONTENT, username: POST_WRITER, tags: [ TAG1, TAG2, TAG3 ], time: POST_..