백준 2636 치즈 - JAVA
·
알고리즘/백준
2636 문제 링크https://www.acmicpc.net/problem/2636 문제 설명 입출력 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import java.util.*;import java.io.*; public class Main { private static int r, c; private static int total = 0; private static String[] input; private static int[][] arr; pr..
백준 1019 책 페이지 - JAVA
·
알고리즘/백준
1019 문제 링크https://www.acmicpc.net/problem/1019 문제 설명 입출력 코드1234567891011121314151617181920212223242526272829303132import java.io.*;import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); ..
백준 1941 소문난 칠공주 - JAVA
·
알고리즘/백준
1941 문제 링크https://www.acmicpc.net/problem/1941 문제 설명 입출력 코드123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960import java.io.*;import java.util.*; public class Main { private static int count = 0; private static char[][] studs = new char[5][5]; private static int[] selected = new int[7]; private static int[] dx = {-1, 1, 0, ..
백준 2573 빙산 - JAVA
·
알고리즘/백준
2573 문제 링크https://www.acmicpc.net/problem/2573 문제 설명 입출력 코드빙산 조각 탐색과 빙산의 녹는 양 계산이 분리된 풀이> - 일반적인 탐색 틀에 맞춘 풀이, 직관적1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677import java.io.*;import java.util.*; public class Main { static int N, M; static int[][] map; static int[][] temp; static boolea..
백준 2042 구간 합 구하기 - JAVA
·
알고리즘/백준
2042 문제 링크https://www.acmicpc.net/problem/2042 문제 설명 입출력 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374import java.io.*;import java.util.*; public class Main { private static long[] arr; private static long[] tree; public static void main(String[] args) throws IOException { BufferedRead..
백준 17142 연구소 3 - JAVA
·
알고리즘/백준
17142 문제 링크https://www.acmicpc.net/problem/17142 문제 설명 입출력 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980import java.io.*;import java.util.*; public class Main { static int N, M; static int[][] lab; static Listint[]> virus; static Listint[]> selectedV; static int[] dx = {1, -..
백준 15903 카드 합체 놀이 - JAVA
·
알고리즘/백준
15903 문제 링크https://www.acmicpc.net/problem/15903 문제 설명 입출력 코드1234567891011121314151617181920212223242526import java.io.*;import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); Str..
백준 10468 숫자뽑기게임 - JAVA
·
알고리즘/백준
10468 문제 링크https://www.acmicpc.net/problem/10468 문제 설명 입출력 코드123456789101112131415161718192021222324252627282930313233343536373839import java.io.*;import java.util.*; public class Main { static int[] arr; static int[][] dp; static int N; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..
Java의 원시 타입과 참조 타입
·
CS 스터디/CS - JAVA
자바에서는 기본적으로 원시 타입(Primitive Type)과 참조 타입(Reference Type) 두 가지 형태의 타입을 사용합니다. 두 타입의 어떤 차이점이 존재하는지 살펴보겠습니다. 이번 글에서는 본격적인 비교에 앞서, 먼저 원시 타입과 참조 타입이 무엇인지 간단히 알아보고,이후에 4가지(성능, 메모리, null 처리, 제네릭 사용)관점에서 그 차이를 살펴보겠습니다. 원시 타입(Primitive Type) 이란?원시 타입은 정수, 실수, 문자, 논리 리터럴 등 실제 데이터 값을 저장하는 타입원시 타입 특징변수에 값 자체가 저장됨스택 메모리에 저장됨크기가 고정되어 있어 메모리 사용이 효율적값만 저장하므로 속도가 빠름null값을 가질 수 없음객체가 아니므로 메서드 정의가 불가능원시 타입의 대표적인 종..
객체 지향 설계 5대 원칙 (SOLID)
·
CS 스터디/CS - JAVA
객체지향 프로그래밍을 배울 땐 상속이나 캡슐화, 다형성 같은 개념만으로도 충분해 보입니다. 하지만 기능이 늘어나고 유지보수의 영역이 넓어지면 점점 코드가 복잡해지고 유지보수가 어려워질 수 밖에 없습니다. 이러한 문제들을 줄이고, 설계의 중요한 기준점이 되는 것이 바로 SOLID원칙입니다.이 원칙은 로버트 C. 마틴(Robert C. Martin)이 제안한 것으로, 객체지향 설계의 핵심 철학이라 할 수 있습니다. SOLID를 잘 지키면 코드가 유연해지고 변경에도 강해져서, 유지보수가 쉬운 구조를 만들 수 있습니다. 규모가 커질수록 이런 설계 원칙의 중요성은 더 커질 수 밖에 없습니다. SOLID란?SOLID는 다섯 가지 설계 원칙의 앞글자를 따서 만든 약어입니다. S: SRP - 단일 책임 원칙 (Sing..