반응형
제육's 휘발성 코딩
반응형
[JAVA] - 객체지향 프로그래밍
🔷 Java 2022. 1. 4. 02:23

객체 지향 프로그래밍 1960년대 하드웨어 발전 속도에 비해 소프트웨어의 발전 속도는 느렸다. 하드웨어처럼 모듈화를 못했기 때문이었다. 이를 위해 소프트웨어에 객체지향 패러다임이 등장 객체와 객체 간 자유로운 데이터 이동이 가능 절차지향프로그래밍 : 위에서 부터 아래로 순차적으로 진행되는 형태 프로그램 재사용시 기존에 만들어진 코드를 복사 붙여넣기 하는 방식 모듈을 만들어 공유 데이터로 공유하는 방식으로 구현되었지만, 유기적으로 연결되어야하는 단점이 있다. 객체 현실 세계에 존재하는 모든 것을 객체로 표현 정적인 요소 : 변수 - 자동차 (이름, 속도, 제조사) 동적인 요소 : 메서드 - 자동차 (시동켠다(), 가속한다(), 시동끈다()) 클래스 현실 세계의 객체를 컴퓨터 메모리에서 생성할 수 있는 일종..

article thumbnail
[Algorithm] 11053 - 가장 긴 증가하는 부분 수열(JAVA)
🔷 Java/Algorithm 2021. 12. 30. 15:37

https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 알고리즘 LIS(Longest Increasing Subsequence) 문제이다. 원소가 N개인 배열의 일부 원소를 골라내서 만든 부분 수열 중, 그 길이가 최대인 부분 수열을 최장 증가 부분 부분 수열(LIS)라고 한다. {10, 20, 10, 30, 20, 50 } 의 LIS 는 10,20,30,50이 최장이므로 ..

article thumbnail
[Algorithm] 백준 10844 - 쉬운 계단 수 (JAVA)
🔷 Java/Algorithm 2021. 12. 28. 22:18

https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 알고리즘 N이 100까지 이므로, Long타입을 통한 dp 배열을 생성해야 한다. 특히 인접한 모든 자릿수의 차이가 1이라는 것에서 0과 9일 때 예외처리를 해주어야 한다. 또한, N=1일 때 모든 수가 계단 수 이므로 dp[1][0~9]를 1로 초기화 해주어야 한다. i번째 자릿수가 0일 때 다음 자릿수의 값 : 1 , i번째 자릿수가 9일 때 다음 자릿수의 값 : 8 , 나머지 i+1, i-1 이 된다. 소스 코드 import java.io.BufferedReader; import java.io.IOExce..

[Algorithm] 백준 15990 - 1,2,3 더하기 5 (JAVA)
🔷 Java/Algorithm 2021. 12. 28. 01:06

https://www.acmicpc.net/problem/15990 같은 수가 연속으로 나오면 안되므로 2차원 배열(n값, 마지막에 더해진 숫자)을 사용해서 분리 시켜 준다. dp[4]의 경우를 예시로 보자. dp[4] [1] : 즉 마지막에 1을 더해서 4를 만들 경우는 dp[3]이 2 또는 3을 더해서 나온 결과여야한다. 이를 점화식으로 표현하면 다음과 같다. dp[n][1] = dp[n-1][2] + dp[n-1][3] dp[n][2] = dp[n-2][1] + dp[n-2][3] dp[n][3] = dp[n-3][1] + dp[n-3][2] dp[1], dp[2] 는 자기 자신만 존재하므로 dp[1] [1] = 1, dp[2] [2] =1 dp[3]은 1+2, 2+1, 3 이 존재하므로 dp[3]..

[Algorithm] 백준 5430 - AC (JAVA)
🔷 Java/Algorithm 2021. 12. 21. 21:21

https://www.acmicpc.net/problem/5430 틀린 코드 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)); StringBuilder sb = new StringBuilder(); int n = Integer.parseInt(br.readLine()); for (int i = 0; i < n; i++) { String mission..

[Algorithm] 백준 1963 - 소수 경로 (JAVA)
🔷 Java/Algorithm 2021. 12. 19. 15:04

https://www.acmicpc.net/problem/1963 사용 알고리즘 - 에라토스테네스의 체, BFS 네 자릿 수 이므로 소수 판별을 9999까지 해둔다. (에라토스테네스의 체) 입력 값을 bfs에 넣어, 자릿수 별 파싱 및 소수 여부 확인 Queue(값 비교)와 Hashmap(횟수 및 중복 제거) 사용 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Ma..

[Algorithm] 백준 6588 - 골드바흐의 추측 (JAVA)
🔷 Java/Algorithm 2021. 12. 18. 15:52

https://www.acmicpc.net/problem/6588 import java.util.ArrayList; import java.util.Scanner; public class Main { static ArrayList arr = new ArrayList(); static ArrayList chk = new ArrayList(); static int[] prime; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n; while (true){ n = sc.nextInt(); if (n == 0) break; arr.add(n); } prime = new int[100001]; isPrime(); f..

[Algorithm] 백준 2023 - 신기한 소수 (JAVA)
🔷 Java/Algorithm 2021. 12. 18. 13:18

https://www.acmicpc.net/problem/2023 import java.util.Scanner; public class Main { static int[] prime; static StringBuilder sb = new StringBuilder(); public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int min = (int) Math.pow(10, n-1); int max = (int) Math.pow(10, n); prime = new int[max]; isPrime(max); for (int i = min; i < max; i++) { if(prime[i..

반응형
반응형