전체 글
-
[프로그래머스] 정수 삼각형 - 자바 Java + 접근 방식문제/프로그래머스 2023. 12. 7. 22:59
Dynamic Programming 문제이고 아래 칸으로 아래로 내려가면서 거쳐간 숫자의 최댓값을 구하는 문제입니다. 접근 방식 크게 맨 왼쪽 값, 중간 값, 맨 오른쪽 구하는 식으로 구성되어있고 answer 를 업데이트하면서 현재까지 계산된 최대 합을 저장합니다. import java.util.*; class Solution { public int solution(int[][] triangle) { int answer = 0; int[][] temp = new int[triangle.length][triangle.length]; temp[0][0] = triangle[0][0]; for(int i = 1; i < triangle.length; i++) { temp[i][0] = temp[i - 1][0..
-
[백준] 분해합 2231번 - 자바 Java + 접근 방식문제/백준 2023. 11. 29. 18:08
완전 탐색(Brute-force Search) 문제입니다. 접근 방식 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //입력받은 숫자를 문자열로 받는다. String numberString = br.readLine(); //입력받은 숫자의 길이 int numberLength = numberString.length(); //문자열을 int..
-
[백준] 일곱 난쟁이 2309번 - 자바 Java + 접근 방식문제/백준 2023. 11. 29. 14:28
완전 탐색(Brute-force Search) 문제입니다. 가짜 난쟁이 2명을 제외한 키 합이 100이 되는 일곱 난쟁이의 키를 출력하는 문제입니다. 접근 방식 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); //난쟁이 9명 배열 생성 int[] dwarfs = new int[9]; //난쟁이들 키 총합 int totalHeight = 0..
-
[Java]짧게 훑어보는 Java 간단 지식(오버라이딩&오버로딩, 추상클래스, 인터페이스, SOLID-객체지향의 설계원칙)리뷰노트/Java 2023. 11. 29. 13:01
오버라이딩(Overriding) & 오버로딩(Overloading) 오버라이딩(Overriding)은 상위 클래스에 있는 메소드를 하위 클래스에서 재정의 하는 것입니다. 오버로딩(Overloading)은 매개변수의 타입이나 개수를 다르게 하여 같은 이름의 메소드를 여러 개 정의하는 것입니다. 추상클래스(Abstract Class) & 인터페이스(Interface) 추상클래스(Abstract Class) 클래스 내에 추상 메소드가 하나 이상 포함되거나 abstract로 정의된 경우를 말합니다. 상속받는 클래스들의 공통적인 로직을 추상화 시키고 기능 확장을 위해 사용합니다. 다중상속이 불가능하지만 인터페이스는 다중상속이 가능합니다. 인터페이스(Interface) 모든 메소드가 추상 메소드로만 이루어져 있는 ..
-
[프로그래머스]자연수 뒤집어 배열로 만들기 - 자바 Java + 접근 방식문제/프로그래머스 2023. 11. 27. 21:03
자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴하는 문제입니다. 접근 방식 주어진 자연수 n을 문자열로 변환합니다. Long.toString(n); 변환한 문자열을 역순으로 반복하면서 각 문자를 숫자로 변환합니다. numStr.charAt(i) - '0' ( 여기서 '0'을 빼는 이유는 문자에서 숫자로 변환하기 위함입니다.) 변환한 숫자들을 배열에 저장합니다. 최종적으로 이 배열을 반환합니다. import java.util.ArrayList; import java.util.List; class Solution { public int[] solution(long n) { String numStr = Long.toString(n); List list = new ArrayList(); fo..
-
[프로그래머스]나머지가 1이 되는 수 찾기 - 자바 Java + 접근 방식문제/프로그래머스 2023. 11. 27. 19:17
'n을 x로 나눈 나머지가 1이 되도록하는 가장 작은 자연수 x'를 구하는 문제입니다. 접근 방식 x는 1보다 큰 자연수여야 합니다. n을 1로 나누면 나머지가 항상 0이기 때문입니다. x를 2부터 시작하여 n보다 작은 동안 반복합니다. 각 반복에서 n%x가 1이 되는지 확인합니다. 만약 1이라면 그 x가 result 입니다. n%x가 1이 되는 가장 작은 자연수 x을 반환합니다. class Solution { public int solution(int n) { for(int x = 2; x < n; x++) { if(n % x == 1) { return x; } } return n - 1; } }
-
[네트워크]간단한 TCP/IP 4계층 설명리뷰노트/네트워크 2023. 11. 26. 20:16
TCP/IP 4계층 모델 인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고받는 데 쓰이는 프로토콜의 집합이며 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7 계층 모델로 설명하기도 합니다. TCP/IP 4계층 모델에 대해서 적어볼까 합니다. 이 계층 모델은 네트워크에서 사용되는 통신 프로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성됩니다. 계층 구조 애플리케이션(Application) 계층 FTP : 장치와 장치 간의 파일을 전송하는 데 사용되는 표준 통신 프로토콜 HTTP : World Wide Web을 위한 데이터 통신의 기초이자 웹 사이트를 이용하는 데 쓰는 프로토콜 SSH : 보안되지 않은 네..
-
[네트워크]네트워크의 기초(처리량, 지연 시간, 네트워크 토폴로지, 병목현상)리뷰노트/네트워크 2023. 11. 24. 23:48
네트워크는 컴퓨터 등의 장치들이 통신 기술을 이용하여 구축하는 연결망을 지칭하는 용어입니다. 네트워크란? 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미합니다. 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미합니다. 처리량과 지연 시간 좋은 네트워크란? - 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말합니다. 처리량은 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 나타냅니다. '많은 트래픽을 처리한다.' == '많은 처리량을 가진다' 사용자들이 많이 접속할 때마다 커지는 트래픽, 네트워크 장치 간의 대역폭, 네트워크 중간에 발생하..