전체 글 679

[JAVA] 백준 1107 - 리모컨

https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { public static vo..

ALGORITHM 2022.11.17

[JAVA] 백준 6064 - 카잉 달력

https://www.acmicpc.net/problem/6064 6064번: 카잉 달력 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터는 한 줄로 구성된다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br =..

ALGORITHM 2022.11.16

[JAVA] 백준 1476 - 날짜 계산

https://www.acmicpc.net/problem/1476 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 방법1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br = new Buffer..

ALGORITHM 2022.11.13

[JAVA] 백준 2309 - 일곱 난쟁이

https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; import java.util.List; public class Main{ public sta..

ALGORITHM 2022.11.13

객체지향 프로그래밍의 특징

객체지향 프로그래밍이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고,그 객체들간의 상호작용을 통해 로직을 구성하는 프로그래밍 방법이다. 객체지향 프로그래밍의 장단점 장점 코드 재사용이 용이 기존에 만들어진 클래스를 재사용할 수 있고 상속을 통해 확장 가능 유지보수가 쉬움 수정해야할 부분이 클래스 내부에 있으므로 해당 부분만 수정하면 됨 대형 프로젝트에 적합 클래스 단위로 모듈화시켜 개발 -> 업무 분담하기에 쉬움 단점 처리 속도가 상대적으로 느림 객체가 많으면 용량이 커질 수 있음 설계시 많은 시간과 노력이 필요 객체지향 프로그래밍의 특징 1.추상화 복잡한 시스템으로부터 핵심적인 개념 또는 기능을 간추려 내는 것 2.캡슐화 객체의 속성과 메서드를 하나로 묶고 일부를 외부에..

BACK/JAVA 2022.11.13

[JAVA] 자바 프로그램의 구조와 실행 과정

자바의 플랫폼 독립성 자바의 가장 큰 특징은 플랫폼 독립성이다. 플랫폼 독립성이란 하나의 프로그램이 모든 플랫폼(윈도우, 맥 리눅스..)에서 실행 가능한 것을 말한다. 자바의 가상머신 JVM이 이를 가능하게 해준다. 자바의 실행 파일(.class)은 이 가상머신이 사용하는 기계어의 집합으로 구성되어 있어, 가상머신을 이용하면 어떤 플랫폼에서도 .class파일을 실행할 수 있다. JVM 이란? JVM은 JavaVirtual Machine의 줄임말로 wirte once, run erveywhere. 즉 OS마다 따로 코드를 작성해야 하는 번거로움 없이 Java가 플랫폼에 독립적일 수 있게 만들어준다. 그리고 가비지 컬렉션을 통해 자동적인 메모리 관리를 해준다. (가비지 컬렉션: JVM의 메모리 관리 기법 중..

BACK/JAVA 2022.11.11

[JAVA] 디자인 패턴 정리

디자인 패턴이란 ? 프로그램을 설계할 때 발생했던 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 "규약" 형태로 만들어 놓은 것을 의미한다. 1. 싱글톤 패턴 하나의 클래스에 오직 하나의 인스턴스만 가지는 패턴 하나의 인스턴스를 만들어 놓고 해당 인스턴스를 다른 모듈들이 공유하며 사용하기 때문에 인스턴스를 생성할 때 드는 비용이 줄어드는 장점이 있다. 하지만 의존성이 높아지고 테스트가 서로 독립적인 단위 테스트를 주로 하는 TDD를 할때 걸림돌이 된다는 단점이 있다. 스프링 컨테이너 객체 관리, DB 커넥션, 스레드 풀 객체 생성시 사용된다. class Singleton{ private static class singleInstanceHolder{ private static fi..

BACK/JAVA 2022.11.11

[JAVA] 백준 13398번- 연속합 2

https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main{ public static void main(String[] args) throws IOException { BufferedReader br =..

ALGORITHM 2022.11.11
반응형