백준 / 2468번 / 안전 영역 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/2468   문제재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 안전한 영역이 최대로 몇 개가 만들어 지는 지를 조사하려고 한다. 이때, 문제를 간단하게 하기 위하여, 장마철에 내리는 비의 양에 따라 일정한 높이 이하의 모든 지점은 물에 잠긴다고 가정한다.어떤 지역의 높이 정보는 행과 열의 크기가 각각 N인 2차원 배열 형태로 주어지며 배열의 각 원소는 해당 지점의 높이를 표시하는 자연수이다. 예를 들어, 다음은 N=5인 지역의 높이 정보이다. 6826232346673327253689527 이제 위와..
[Java] 어노테이션 (Annotation)의 개념 및 종류
·
기타
Annotation이란?사전적 의미로 주석을 뜻한다. 자바에서 Annotation(@)은 코드 사이에 특별한 의미, 기능을 수행하도록 하는 기술이다.어노테이션을 사용하면 코드가 깔끔해지며 재사용이 가능하다.  어노테이션의 역할컴파일러에게 문법 에러를 체크하도록 정보를 제공한다.프로그램을 빌드할 때 코드를 자동으로 생성할 수 있도록 정보를 제공한다.런타임에 특정 기능을 실행하도록 정보를 제공한다. Annotation의 종류표준 어노테이션자바에서 기본적으로 제공하는 어노테이션이다. @Override컴파일러에게 메서드를 오버라이딩하는 것이라고 알린다. @Deprecated앞으로 사용하지 않을 대상임을 알린다. @FunctionalInterface함수형 인터페이스라는 것을 알린다. @SuppressWarning..
백준 / 5430번 / AC / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/5430   문제선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다.함수 R은 배열에 있는 수의 순서를 뒤집는 함수이고, D는 첫 번째 수를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다.함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. 예를 들어, "RDD"는 배열을 뒤집은 다음 처음 두 수를 버리는 함수이다.배열의 초기값과 수행할 함수가 주어졌을 때, 최종 결과를 구하는 프로그램을 작성하시오.입력첫째 줄에 테스트..
백준 / 18352번 / 특정 거리의 도시 찾기 (BFS) / python 파이썬
·
코딩테스트/백준 (python)
문제 : https://www.acmicpc.net/problem/18352  문제 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다.이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다.예를 들어 N=4, K=2, X=1일 때 다음과 같이 그래프가 구성되어 있다고 가정하자.   이 때 1번 도시에서 출발하여 도달할 수 있는 도시 중에서, 최단 거리가 2인 도시는 4번 도시 뿐이다.  2번과 3번 도시의 경우, 최단 거리가 1이기 때문에 출력하지 않는다.  입력 첫째 줄에 도시의..
경로 제어 프로토콜이란?
·
CS/Network
경로 제어 프로토콜네트워크 장치가 서로 데이터를 주고받기 위해 네트워크 내 최적의 경로를 결정하고 유지하는 데 사용되는 프로토콜 경로 제어 프로토콜의 종류IGP(내부 게이트웨이 프로토콜): 하나의 자율 시스템 내의 라우팅에 사용되는 프로토콜- RIP현재 가장 널리 사용되는 라우팅 프로토콜로 거리 벡터 라우팅 프로토콜이라고도 불리며, 최단 경로 탐색에 Bellman-Ford 알고리즘이 사용됨최대 홉 수를 15로 제한하므로 15 이상의 경우는 도달할 수 없는 네트워크를 의미 → 대규모 네트워크에서는 RIP을 사용할 수 없음을 의미- OSPFRIP의 단점을 해결해 새로운 기능을 지원하는 인터넷 프로토콜로, 대규모 네트워크에서 많이 사용됨인터넷 망에서 이용자가 최단 경로를 선정할 수 있도록 라우팅 정보에 노드 ..
블랙박스 테스트와 화이트박스 테스트
·
기타
블랙박스 테스트소프트웨어의 내부 구조나 작동 원리를 모르는 상태에서 소프트웨어의 동작을 검사하는 방법소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트사용자의 요구사항 명세를 보면서 테스트하는 것, 주로 구현된 기능을 테스트소프트웨어 인터페이스에서 실시되는 테스트테스트 과정의 후반부에 적용ex) 동치 분할 검사(Equivalence Partitioning Testing), 경계값 분석(Boundary Value Analysis), 원인-효과 그래프 검사(Cause-Effect Graphing Testing), 오류 예측 검사(Error Guessing), 비교 검사(Comparison Testing) 화이트박스 테스트소프트웨어 혹은 제품의 내부 구조, 동작을 세밀..
[Java] Static 변수와 Static 메소드
·
기타
Static 변수 다음과 같은 HouseLee 클래스가 있다고 하자.class HouseLee { String lastname = "이";}public class Sample { public static void main(String[] args) { HouseLee lee1 = new HouseLee(); HouseLee lee2 = new HouseLee(); }} HouseLee 클래스를 만들고 객체를 생성하면 객체마다 객체 변수 lastname을 저장하기 위한 메모리가 별도로 할당된다.하지만 HouseLee 클래스의 lastname이 어떤 객체이든지 동일한 값인 '이'로 항상 값이 변하지 않는다면 static을 이용해 메모리 낭비를 줄일 수 있다.  또한 ..
백준 / 1520번 / 내리막 길 / python 파이썬
·
코딩테스트/백준 (python)
문제 :  https://www.acmicpc.net/problem/1520   문제여행을 떠난 세준이는 지도를 하나 구하였다. 이 지도는 아래 그림과 같이 직사각형 모양이며 여러 칸으로 나뉘어져 있다. 한 칸은 한 지점을 나타내는데 각 칸에는 그 지점의 높이가 쓰여 있으며, 각 지점 사이의 이동은 지도에서 상하좌우 이웃한 곳끼리만 가능하다. 현재 제일 왼쪽 위 칸이 나타내는 지점에 있는 세준이는 제일 오른쪽 아래 칸이 나타내는 지점으로 가려고 한다. 그런데 가능한 힘을 적게 들이고 싶어 항상 높이가 더 낮은 지점으로만 이동하여 목표 지점까지 가고자 한다. 위와 같은 지도에서는 다음과 같은 세 가지 경로가 가능하다. 지도가 주어질 때 이와 같이 제일 왼쪽 위 지점에서 출발하여 제일 오른쪽 아래 지점까지 ..