일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트기출
- 카카오코딩테스트
- 자바문자열
- 백준 1924번
- java method
- 공부정리
- 자바
- 백준
- 문자열포맷
- 자료구조힙
- 백준 1924번 java
- 카카오기출
- java
- 자료구조 트리
- 백준 1000번
- 카카오코테
- heap정렬
- 코테준비
- 카카오1차
- 개발상식
- 객체프로그래밍이란
- Java heap
- 객체프로그래밍
- 프렌즈4블록
- 알고리즘
- 힙정렬자바
- heap
- 백준 1000번 java
- 프렌즈4블록java
- 프로그래머스
- Today
- Total
목록java (7)
일단 시작해보는 블로그
코드 설명 변수/객체 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인 것은 제거..
힙정렬 알고리즘은 입력받은 숫자를 최대 혹은 최소 힙 구조로 만들고 현재 값 중에 가장 큰값 혹은 작은 값을 루트로부터 추출하여 큰값부터 차례대로 뽑아 정렬문제를 해결하는 알고리즘이다. 아래 동영상이 도움이 많이 됐다아ㅏ.!!! LOGIC 1. 배열에 담기 2. max-heapify 3. 1번노드와 마지막 노드 exchange 4. 마지막 노드를 arraylist에 따로 담기, heap크기 = heap크기 -1 package data_structure; import java.util.ArrayList; // max heap! public class HeapSort { static ArrayList sortArr = new ArrayList(); static int[] swap(int[] a, int m,..
메소드로 객체를 전달할 경우 메소드에서 객체의 객체변수(속성) 값을 변경할 수 있다. 다음 예제는 input값을 primitive type으로 넣어준 것. 즉, 아무리 Main클래스의 객체의 속성을 update함수에서 바꾸려고 해도 바뀌지 않는다. //Main.java class Updater { public void update(int count){ count++; } } public class Main { int count = 0; public static void main(String[] args) { Main a = new Main(); System.out.println("before : " + a.count); Updater b = new Updater(); b.update(a.count); S..
보통 다른언어에는 함수라는 것이 별도로 존재한다. 하지만 자바는 클래스를 떠나 존재하는 것은 있을 수 없기 때문에 자바의 함수는 따로 존재하지 않고 클래스 내에 존재한다. 이 클래스 내의 함수를 메소드라고 부른다. java는 객체지향언어이므로, 보통은 함수라고 불리지만 자바에서의 정확한 명칭인 메소드(method)는 반드시 클래스 내에서만 존재함. 메소드를 사용하는 이유? 자신이 어떤 코드를 반복해서 적고있는 것을 발견할 때가 있다. 바로 이를 위해서 그 반복되는 행동들을 정의해두고 호출만으로 그 메소드를 꺼내서 사용할 수 있도록 하는 것. 메소드의 구조 public 리턴자료형 메소드명(입력자료형1 입력변수1, 입력자료형2 입력변수2, ...){ ... return 리턴값; //리턴자료형이 void인 경..
피보나치 수열은 dp를 이해함에 있어서 필수적인 예제이자, 이해수단(?)이다. dp를 처음 접한다면 일단 피보나치 수열에 관련한 것을 이해한 후, 개념을 접하는 것이 혼란방지용으로 좋을 것 같다. 피보나치 수열 수학에서, 피보나치 수(fibonacci numbers)는 첫째 및 둘째 항이 1이며, 그 뒤의 모든 항은 바로 앞 두항의 합인 수열이다. 1, 1, 2, 3, 4, 7, 11, ... (1번째 항부터 나열한 피보나치 수열의 예시) 즉, 초기값 및 점화식으로 정의되어있는 규칙이 있는 수열 0행부터 정의한다면 0행의 초기값을 0으로 놓고 시작한다. https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 피보나치 수 -..
package input_output; import java.util.Scanner; public class backjoon_1924 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] week = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; int[] date = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int x = sc.nextInt(); int y = sc.nextInt(); int tmp = 0; for(int i=0; i
https://www.acmicpc.net/problem/1000 package input_output; import java.util.Scanner; public class backjoon_1000 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int A = sc.nextInt(); int B = sc.nextInt(); System.out.println(A+B); } }