분류 전체보기

· TIL
백준에서 BufferedReader와 StringTokenizer를 사용하라는데 어떻게 사용할지 몰라서 애먹었었다. 둘을 왜 사용하는지는 다음에 설명 내가 우선 Token의 개념을 몰랐음 Token 공백 (띄어쓰기, 개행, 탭) 등으로 구분되는 요소 안녕 하세 요 라고 하면 1. 안녕 2. 하세 3. 요 이렇게 구분 된다. readLine() 하고 nextToken()? 뭐지? 했었는데 Token의 개념을 알면 이해된다. "안녕 하세 요" 를 받고 nextToken()을 하면 "안녕" 이나오고 한번 더 하면 "하세" 가 나오는 것 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄..
· 알고리즘
구간 합 구간 합은 합 배열을 이용하여 시간 복잡도를 더 줄이기 위해 사용하는 특수한 목적의 알고리즘이다. 코딩 테스트에서 사용 빈도가 높아서 꼭 알아둬야 한다. 구간 합의 핵심 이론 구간 합 알고리즘을 활용하려면 먼저 합 배열을 구해야 한다. 배열 A가 있을 때 합 배열 S는 다음과 같이 정의 한다. 합 배열 S 정의 S[i] = A[0] + A[1] + A[2] + … + A[i*1] + A[i] // A[0] 부터 A[i] 까지의 합 합 배열은 기존의 배열을 전처리한 배열이라 생각하면 된다. 이렇게 합 배열을 미리 구해 놓으면 (for문 돌려서 미리 구해놓는다는 뜻임) 기존 배열의 일정 범위의 합(구간 합)을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소한다. A[i]부터 A[j] 까지의 배열 ..
· 알고리즘
배열과 리스트 기본 자료구조인 배열과 리스트는 비슷하지만 다른 점이 많다. 두 자료구조의 특징을 잘 이해하고 문제가 요구하는 조건에 따라 적절히 사용하는 것이 중요하다. 배열과 리스트의 핵심 이론 배열 배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조다. 배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다. 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다. 구조가 간단하므로 코딩 테스트에서 많이 사용한다. 리스트 리스트는 ..
· 기타
+ 인프런 강의들... 할게 너무 많다. 뭐부터 할지 모르겠음 사실 하나하나 깨트리면 된다! 라고는 하지만 이렇게나 쌓여버리면 ㅋㅋ 어렵다 개구리책은 대중교통 탈 때 읽고, CS는 틈틈이... 알고리즘은 백준이랑 익숙해지면서 하고 있는데 백준하는 이유는 내가 프로그래머스에 너무 익숙한 것.. 근데 요즘은 프로그래머스로 코테를 많이본다고는 한다. 근데 모르니까 백준은 입출력 때문에 버퍼드리더랑 스트링 토크나이저을 쓴다고 하는데,,, 허허 IDE로 작성하고 또 붙여놔야한다는 점이 약간 불편한 거 같다. 어쩌겠냐!!! 진짜 어쩔 수 없음 허허 시간표를 진짜 잘짜야겠다는 생각 중 운동도 가야됨ㅋㅋ 알바도... 공고도 보고 어쩌겠냐!!!!!!! 해야지
· TIL
인터넷 계층 인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층이다. IP, ARP, ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달한다. 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징을 가지고 있다. 링크 계층 링크 계층은 전선, 광섬유 무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 ‘규칙’을 정하는 계층이다. 참고로 네트워크 접근 계층이라고도 한다. 이를 물리 계층과 데이터 링크 계층으로 나누기도 한다. 물리 계층 - 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층 데이터 링크 계층 - ‘이더넷 프레임’ 을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하..
· TIL
TCP 연결 성립 과정 TCP는 신뢰성을 확보할 때 '3-way handshake' 라는 작업을 진행한다. SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 이는 장치마다 다를 수 있다. (ex. 10000) SYN + ACK 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 다시 클라이언트에게 보내며 승인번호로 클라이언트에게 받은 ISN + 1 을 보낸다. (ex. 서버의 ISN: 5000 / 클라이언트한테 보내는 승인번호: 10001) ACK 단계: 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아 ACK를 서버에 보낸다. (ex. 서버에 보내는 승인번호: 5001) 3 ..
wonow_
'분류 전체보기' 카테고리의 글 목록 (9 Page)