목록전체 글 (37)
알고리즘 공부방
https://www.acmicpc.net/contest/view/1129 2023 HPEC(Hanyang Programming Evaluation Contest) - Beginner Open www.acmicpc.net 코테 대비해서 대회셋을 풀어봤다. A - 학번을 찾아줘! 간단한 사칙연산, 구현 문제였다. 문제에서 하라는 대로 하면 된다. #include #include using namespace std; long long arr[5]; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int t; cin >> t; for (int i = 0; i > arr[i]; long long..

1. 로드 밸런서(Load Balancer) (1) 로드 밸런서가 필요한 이유는? : 클라이언트 사용자가 한 두명인 경우는 서버에 가는 부담이 적다. 하지만 클라이언트 사용자가 수천명이라면? 그렇다면 서버는 모든 사람들의 응답을 하려고 노력하겠지만 결국 동작을 멈추게 된다. 이러한 문제를 해결하기 위해서 어떤 방법이 있을까? Scale-Up: 서버가 더 빠르게 동작하기 위해 하드웨어 성능을 높이는 방법 Scale-Out: 하나의 서버보다 여러 대의 서버가 나누어 일을 하는 방법 Scale-Up 방식보다 Scale-Out 방식을 더욱 많이 사용한다. 왜? 하드웨어의 성능을 올리는 비용보다 서버를 하나 더 추가하는 비용이 적게 나간다. 여러 대의 서버 덕분에 무중단 서비스를 제공할 수 있다. 여러 대의 서버..

1. UDP 1) UDP 통신이란? User Datagram Protocol의 약자로 데이터를 데이터그램 단위로 처리하는 프로토콜 비연결형, 신뢰성 없는 전송 프로토콜 데이터그램 단위로 쪼개면서 전송을 해야하기 때문에 전송 계층이다. 2) TCP 와 UDP는 왜 나오게 됐는가? IP의 역할은 Host to Host만을 지원한다. 장치에서 장치로 이동은 IP로 해결되지만, 하나의 장비안에 수많은 프로그램들이 통신을 할 경우에는 IP만으로는 한계가 있다. 또한 IP에서 오류가 발생한다면 ICMP에서 알려준다. 하지만 ICMP는 알려주기만 할 뿐 대처를 못 하기에 IP보다 위에서 처리 해줘야 한다. (ICMP: 인터넷 제어 메세지 프로토콜로 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메세지를 전송받는데..

1. OSI 7 계층 7계층은 왜 나누는 것인가? : 통신이 일어나는 과정을 단계별로 알 수 있고, 특정한 곳에 이상이 생기면 그 단계만 수정할 수 있기 때문. 1) 물리(1) 계층 단지 데이터 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간 즉, 데이터를 전송하는 역할만 한다. EX) 라피터, 케이블, 허브 2) 데이터 링크(2) 계층 물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할 MAC 주소를 통해 통신한다. 프레임에 MAC주소를 부여하고 에러검출, 재전송, 흐름제어를 진행 비유를 하자면 아파트 단지에 경비실 EX) 브릿지, 스위치 ------------------------------------ 여기까지는 패킷전송과정에서 계속 바뀔 수 있는 것들 3) 네트워크(3..
SQL 구문 정리 1. SELECT SELECT는 테이블에 있는 칼럼들을 조회하는 명령어 (1) SELECT(검색) SELECT (* = 모든 칼럼 OR 특정 칼럼 NAME) FROM 테이블 명 위와같이 사용된다. (2) WHERE(조건문) SELECT * FROM 테이블 명 WHERE 조건(EX NAME = "김문웅") -- 이렇게 짜면 특정 테이블에 이름이 김문웅인 ROW를 출력함 SELECT (EX AGE, NUMBER) FROM 테이블 명 WHERE 조건(EX NAME = "김문웅") -- 이렇게 짜면 이름이 김문웅인 사람의 나이와 넘버를 출력함 SELECT * FROM 테이블 명 WHERE NUMBER = "202013605" AND NAME = "김문웅" -- 이렇게 짜면 이름이 김문웅이고 넘..
https://judge.koreatech.ac.kr/contest.php?cid=1112 Judge 대회ID : 1112 - 2023년도 제10회 프로그래밍 경시대회 >> 문제풀이, 소스코드 > t; while (t--) { int n; cin >> n; map mp; for (int i = 0; i > k; while (k) { int loma = upper_bound(arr, arr + 13, k) - arr - 1; k -= arr[loma]; mp[arr[loma]]++; } } cout t; while (t--) { vector arr(3); for (int i = 0; i > arr[i]; int ans = 0; for (..
필기 테스트나 CS 면접을 대비한 공부를 정리한 것이다. 가고자 하는 직종이 C++를 쓰다보니 프로그래밍 언어는 C++관한 것만 썼다. 1. C++ (1) struct와 class의 차이 : struct는 기본 접근지정자가 public이지만, class의 경우 private이다. 그리고 class는 struct처럼 초기화가 불가능하다. struct 예) struct Test{ int x; int y; }; int main(){ Test test = {1, 2}; } class 예) #include class Test { private: int num; int num2; public: Test(int a) { num = a; num2 = 0; } Test(int a, int b) { num = a; num..
https://atcoder.jp/contests/abc309 Denso Create Programming Contest 2023 (AtCoder Beginner Contest 309) - AtCoder AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online. atcoder.jp Atcoder 풀어볼 기회가 별로 없었는데, 이번에 시간내서 풀어봤다. 시간 재면서 풀진 않았고, 여유롭게 풀어봤다. A - Nine 두 변수 A, B가 주어졌을 때, 3x3 격자판에서 수평적인 라인에 같이 있는지 판단하면 된다. #include using namespace..