[C언어] Pcap을 이용한 TCP 프로토콜 정보 출력 프로그램
·
Programming Language/PYTHON
📝 과제 내용 🧩 코드 구성 설명 구조체 struct Ethernet : 2계층 이더넷 패킷의 헤더 구조체 strcut IP : 3계층 IP 패킷의 헤더 구조체 struct TCP : 4계층 TCP 패킷의 헤더 구조체 struct TCP_Payload : TCP 페이로드를 저장할 구조체 함수 void usage() : 사용법에 대해 출력해주는 함수 bool parse() : 인수의 개수가 올바르게 받아지면 True를 반환하는 함수 int main() : 인수의 개수 검사 아무 패킷이 캡쳐되지 않았을 때 오류 메시지 출력 패킷을 캡쳐하고, TCP 패킷인지 확인하고 정보 출력 🖥️ 코드 & 설명 #include #include #include #include #include // 2계층 이더넷 구조체 선언 ..
[빡공팟 5기] 6098 : [기초-리스트] 성실한 개미(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6098 [기초-리스트] 성실한 개미(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이가 2로 주어질 때, 성실한 개미의 이동 경로를 예상해보자. 단, 맨 아래의 가장 오른쪽에 도착한 경우, 더 이상 움직일 수 없는 경우, 먹이를 찾은 경우에는 더 이상 이동하지 않고 그곳에 머무른다고 가정한다. 미로 상자의 테두리는 모두 벽으로 되어 있으며, 개미집은 ..
[빡공팟 5기] 6097 : [기초-리스트] 설탕과자 뽑기(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6097 [기초-리스트] 설탕과자 뽑기(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. ⌨️ 입력 첫 줄에 격자판의 세로(h), 가로(w) 가 공백을 두고 입력되고, 두 번째 ..
[빡공팟 5기] | 코드업 | 6096 : [기초-리스트] 바둑알 십자 뒤집기(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6096&rid=0 [기초-리스트] 바둑알 십자 뒤집기(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 바둑판(19 * 19)에 흰 돌(1) 또는 검정 돌(0)이 모두 꽉 채워져 놓여있을 때, n개의 좌표를 입력받아 십자(+) 뒤집기 한 결과를 출력하는 프로그램을 작성해보자. ⌨️ 입력 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다. 십자 뒤집기 횟수(n)가 입력된다. 십자 뒤집기 좌표가 횟수(n) 만큼 입력된..
[빡공팟 5기] | 코드업 | 6095 : [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py)
·
Programming Language/PYTHON
더보기 문제 링크 : https://codeup.kr/problem.php?id=6095 [기초-리스트] 바둑판에 흰 돌 놓기(설명)(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 바둑판(19 * 19)에 n개의 흰 돌을 놓는다고 할 때, n개의 흰 돌이 놓인 위치를 출력하는 프로그램을 작성해보자. ⌨️ 입력 바둑판에 올려놓을 흰 돌의 개수(n)가 첫 줄에 입력된다. 둘째 줄부터 n+1 번째 줄까지 흰 돌을 놓을 좌표(x, y)가 n줄 입력된다. n은 10 이하의 자연수이고 x, y 좌표는 1 ~ 19 까지이..
[빡공팟 5기] | 코드업 | 6088 : [기초-종합] 수 나열하기1(py)
·
Programming Language/PYTHON
더보기 문제 링크 https://codeup.kr/problem.php?id=6088 [기초-종합] 수 나열하기1(py) python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용 codeup.kr 📋 문제 설명 시작 값(a), 등차(d), 몇 번째인지를 나타내는 정수(n)가 입력될 때n번째 수를 출력하는 프로그램을 만들어보자. - 수열이란? 어떤 규칙에 따라 수를 순서대로 나열한 것을 수열(Sequences)이라고 한다. - 등차수열이란? 1 4 7 10 13 위의 수열은 1부터 시작해 이전에 만든 수에 3을 더해 다음 수를 만든 수열이다. 이러한 것을 수학..
[자료구조] - Python으로 스택 간단 구현하기
·
Programming Language/PYTHON
✅스택이란? 2022.08.24 - [기타] - [자료구조] - 스택 (Stack) [자료구조] - 스택 (Stack) 📌스택(Stack)의 개념 LIFO(Last In First Out) 또는 FILO(First In Last Out) 형태로 동작하는 선형 자료 구조 스택(Stack)의 사전적 의미는 "더미", "쌓다"로 자료 구조의 스택도 데이터를 순차적으로 나열한.. yks-study.tistory.com 📍ADT Stack 더보기 ADT(Abstract Data Type)란? 프로그래밍 언어에서 사용되는 데이터형을 정의함에 있어서 그 데이터형에 적용 가능한 연산 형식과 제약 조건 등만을 보여주고 실제로 그 연산이 어떻게 구체적으로 표현되어 있는지는 알 수 없게 하는 기능. 출처 : 추상 데이터형 ..
파이썬 소켓 프로그래밍
·
Programming Language/PYTHON
↓ 소켓이란? https://yks-study.tistory.com/34?category=1007602 소켓 통신 (Socket Communication) 1. 소켓이란? 소켓의 사전적 의미는 "구멍", "콘센트", "연결" 등의 뜻을 가진다. 네트워크의 소켓 역시 주변에서 흔히 볼 수 있는 플러그를 끼우는 소켓과 개념과 비슷하다. 단지 플러그를 연결하 yks-study.tistory.com 파이썬으로 TCP/IP 소켓 통신 구현하기 ➦ 서버 코드 from socket import * host = "127.0.0.1" port = 6789 serverSocket = socket(AF_INET, SOCK_STREAM) serverSocket.bind((host, port)) serverSocket.list..
터틀 아트(Turtle Art) 그리기
·
Programming Language/PYTHON
import turtle as t def c(): global b t.circle(b) b+=10 def bf(): t.begin_fill() def ef(): t.end_fill() pic=input("그림을 보려면 1을 입력 : ") if pic=="1": a=1 t.screensize(500,500) t.bgcolor("steelblue") t.colormode(255) t.speed(3) t.pensize(3) t.speed(0) t.penup() t.goto(-1000,0) t.pendown() t.color(121,178,205) t.begin_fill() for a in range(2): t.forward(2000) t.left(90) t.fd(600) t.left(90) ef() t.pen..