728x90

Computer Science 403

이동통신채널의 물리적 특성에 대해 간단한 정리

열잡음(Thermal Noise)수신장치의 안테나를 포함한 초고주파부의 열잡음이 신호품질 저하를 발생.이 열잡음의 원인은 송수신 장치에서 전자의 운동이 열을 발생하면서 나오는 것으로, 장치의 특성 상 피할 수 없음.열잡음은 모든 주파수 성분에서 균일한 분포를 보이며, 이로 인해 백색 잡음(White Noise)라고도 칭함.이 열잡음만 존재하는 이상적인 채널을 AWGN(Additive White Gaussian Noise)라고 지칭함 경로 손실(Path Loss)송수신기 간 거리차에 의해 송신전력이 감쇠하는 물리적인 현상.송신신호 감쇠는 송신전력과 수신전력의 상대적인 비로 나타낼 수 있음.자유공간에서의 손실은 반송파 파장의 제곱에 비례, 송수신기 간 거리의 제곱에 반비례.무선 신호 전력의 감소가 지수함수적..

1세대 이동 통신부터 5세대(5G) 이동 통신까지 간략한 정리

1세대 미국에서는 AT&T가 셀룰러 개념을 도입한 AMPS(Advanced Mobile Phone System)을 개발, 1세대 이동통신 서비스 시작.4kHz 대역폭의 음성을 20kHz의 채널대역폭을 통해 전송FDMA(Frequency Division Multiple Access) 사용N(Narrow)-AMPS로 발전한국에서는 이 AMPS를 SKT의 전신인 한국이동통신이 이를 도입해서 서비스설계 방식의 한계로, 수용 용량/통화품질 등을 피할 수 없음유럽과 일본은 독자적인 서비스들을 개발해 서비스함 2세대 미국, 한국, 유럽 등이 디지털 음성, SMS를 제공하는 서비스 개발을 시도유럽에서는 GSM(Group Special Mobile)을 개발, 200kHz의 대역폭을 사용하며, 20ms 구간을 할당한 TD..

네트워크 프로그래밍(Network Programming)의 분류

응용 계층(Application Layer) 프로그래밍 응용(작업) 단위 동작을 네트워크 통해 수행하위 계층의 동작을 구체적으로 제어하는 것은 어렵고 효율 저하 발생함.HTML 작성하는 웹 프로그래밍이 이에 해당함.이미 작성된 유틸이나 응용 프로그램을 활용하며, 작성/변경/운영 작업이 용이. 트랜스포트 계층(Transport Layer) 프로그래밍 통신 종단 간 연결 관리 및 패킷 단위 동작 제어.인터넷 프로그램에서 빈번하게 사용되며, OS 별 소켓 API가 유사해 호환성이 좋음. Socket API 예)UNIX BSD socke,t Winsock, TLI(Transport Layer Interface) 디바이스 드라이버 계층(Device Driver Layer) 프로그래밍 링크 계층, 하드웨어를 구동해..

코틀린(Kotlin)에서 중첩 반복문 빠져나오는 방법

과거에 입문 언어로 선택되었던 언어들과 현재 많은 사람들이 쓸 줄은 아는 언어들, C, C++, Java 같은 것들은 중첩반복문을 빠져나오려면 별도의 플래그가 필요했다. 프로그래밍 자체에 서툰 사람들은 이 플래그 개념에서 헤매는 경우가 많았다. 적어도 필자 경험 상, 많은 학부생이 그랬다. 반복문이라는 것이 처음 접하는 사람에게는 어디까지 반복되는지 감이 잘 안 오는 제어문인 데다가, 제어문의 범위에 대해서 완벽히 숙지되지 않은 사람들에게는 반복문을 중단시키는 것 자체가 이해가 되지 않는 경우가 많다. 반복문 내부에 있는 반복문에서 break로 반복 작업을 중단시킨다고 하더라도, 그것을 둘러싸고 있는 반복문(여기서는 바깥 반복문이라고 하겠다.)을 중단시키는 것은 아니다. 따라서 바깥 반복문에 대해서 계속..

해시테이블(Hash Table)과 체이닝(Chaining)에 대한 간략한 정리

해싱과, 해시테이블 그리고 충돌을 처리하는 체이닝 기법에 대해서 한 번 정리해보자.이 글을 시작하기에 앞서, 스택오버플로우의 많은 자료들 그리고 위키피디아, 각종 유튜브 강의를 참고했다는 사실을 먼저 알립니다. 해시와 해시함수 해시 함수(Hash Function)는 데이터의 효율적인 관리를 위해 길이가 각기 다른 데이터를 고정 길이로 매핑하는 함수다. 이 때 매핑하는 과정을 해싱(Hashing)이라고 하며, 매핑하기 전의 데이터를 키(Key), 매핑 후의 데이터를 해시 값(Hash Value; 때로는 Value)이라 한다. 해시의 목적 해시 테이블(Hash Table)해시 테이블은 데이터의 해시 값을 테이블 내 주소로 이용해먹는 탐색 알고리즘으로, 잘 구현하면 이진 탐색보다 빠르게 처리할 수 있다. 암호..

백준] 4435- 중간계 전쟁(ACM-ICPC Regionals)

시간 제한 : 1초메모리 제한 : 128MB 입력첫째 줄에 전투의 개수 T가 주어진다. 각 전투는 두 줄로 이루어져 있다. 첫째 줄에 간달프 군대에 참여한 종족의 수가 주어진다. 이 값은 공백으로 구분되어 있으며, 호빗, 인간, 엘프, 드워프, 독수리, 마법사 순서이다. 둘째 줄에는 사우론 군대에 참여한 종족의 수가 주어진다. 이 값 역시 공백으로 구분되어 있으며, 오크, 인간, 워그, 고블린, 우럭하이, 트롤, 마법사 순서이다. 모든 값은 음이 아닌 정수이고, 각 군대의 점수의 합은 32비트 정수 제한을 넘지 않는다. 출력각 전투에 대해서, "Battle"과 전투 번호를 출력한다. 그 다음에 간달프의 군대가 이긴다면 "Good triumphs over Evil"를, 사우론의 군대가 이긴다면 "Evil ..

백준] 1652 - 누울 자리를 찾아라

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. 출력첫째 줄에 가로로 누울 수 있는 자리와 세로로 누울 수 있는 자리의 개수를 출력한다. 소스코드#include #include #include using namespace std; int main(void) { int n, vertical = 0, horizontal = 0; cin >> n; vector room(n); for (int i = 0; i > room[i]; for (int i = 0; i < n; i++) { for (i..

백준] 2246 - 콘도 선정(ACM-ICPC Regionals)

시간 제한 : 2초메모리 제한 : 128MB 입력첫째 줄에 콘도의 개수를 나타내는 자연수 N(1≤N≤10,000)이 주어진다. 다음 N개의 줄에는 각 콘도에 대한 정보를 나타내는 두 정수 D(1≤D≤10,000), C(1≤C≤10,000)가 주어진다. D는 그 콘도의 바닷가로부터의 거리를 나타내고, C는 그 콘도의 숙박비를 나타낸다. D와 C값이 서로 같은 콘도가 주어지지는 않는다. 출력첫째 줄에 후보가 될 수 있는 콘도의 수를 출력한다. 소스코드 #include #include using namespace std; int main(void) { int n, cnt = 0; bool check; cin >> n; vector arr(n); for (int i = 0; i > a..

Visual Studio 2017에서 설치 파일 만드는 방법

프로젝트 릴리즈 버전을 올리려고 하다 보니까 설치 파일이 필요해졌는데, 올릴 방법이 막막했다.다른 게시물들이나 이런 곳에서는 2017 이전의 버전으로 해서 그런지 기본적으로 기타 프로젝트라는 카테고리가 따로 존재해서 Setup Project를 만들 수 있었는데, 2017부터는 아무리 찾아봐도 그런 게 없다. 심지어 설치 시 누락된 건가 싶어 인스톨러를 실행해봤는데, 그건 아니었다. https://marketplace.visualstudio.com/items?itemName=VisualStudioClient.MicrosoftVisualStudio2017InstallerProjects Visual Studio 2017에서는 Setup Project를 기본 지원하지 않는다. 다만, 마이크로소프트에서 공식 확장..

728x90