![[백준 33675번] L-트로미노 타일링 (python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdJvpYH%2FbtsNiYuAioM%2Fa7kwubkFcMFVnm5hksWB3k%2Fimg.png)
1. 문제설명L-트로미노는 1×1 블록 3개가 L자 형태로 연결된 도형입니다. 이를 회전하거나 대칭해서 사용할 수 있으며, 3×N 보드에 빈틈 없이 채우는 경우의 수를 구하는 것이 목표입니다.2. 오답코드test = int(input())for i in range(test) : dp = [0,2] n = int(input()) for i in range(n) : if i ❌ 오답 코드에서의 실수점화식이 잘못되었음 (일반적인 dp 형태 아님)L-트로미노 타일링은 f(n) = 2^(n/2)의 수학적 규칙으로 푸는 문제리스트 인덱싱 오류 발생 가능 (dp[i]를 선언 없이 대입함)3. 정답코드 및 접근법T = int(input()) for _ in range(T): N = i..

0. 간편 로그인(Convenient Login)이란? 외부 계정을 통해 빠르게 로그인하는 방식. 간편 로그인은 사용자 경험을 향상시키는 방식이지만, 공격자가 한 번만 침투해도 여러 서비스가 동시에 위험해질 수 있는 구조를 가지고 있음.1. SSO(Single Sign-On) 여러 서비스에서 하나의 계정으로 로그인하는 방법IdP: Identity Provider (예: Google, Naver)SP: Service Provider (서비스 제공자)주요 취약점Session Hijacking : 세션 쿠키나 토큰을 탈취해 타인으로 가장세션 쿠키 탈취 → 다른 서비스도 무단 로그인Account Linking Hijack : 공격자가 피해자의 SP에 자기 IdP 계정을 연동피해자의 SP에 공격자 IdP ..
1. 문제 설명32953번 "회상" 문제는 특정 일 수 동안 별을 모으는 과정을 시뮬레이션하면서, 조건을 초과했을 경우 별을 초기화하고 회상 횟수를 세는 문제입니다. 가장 큰 별 획득량을 매일 더해가며 총량이 K를 넘을 경우 회상을 진행합니다.2. 오답 코드 분석n, d, k = map(int, input().split(' '))s = list(map(int, input().split(' ')))max_num = max(s)answer = 0num = max_numfor i in range(d) : num += max_num if num >= k : answer += 1 num = 0print(n) 오답 코드에서는 num을 max_num으로 시작하면서, 처음부터 하루..
![[백준] 32953번 - 회상, python](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FTUcwD%2FbtsMXpS0POQ%2FRd4rqYtOIi32M6UhVktnc1%2Fimg.png)
문제백준 32953번 '회상' 문제는 각 사람의 기억 속에 있는 숫자들을 종합해,m명 이상이 기억하고 있는 숫자의 개수를 세는 문제다. 처음에는 딕셔너리를 이용해 풀었으나 시간 초과가 발생했고, 이후 list와 set 조합으로 해결했다.오답코드n,m = map(int, input().split(' '))dic = {}result = 0for i in range(n) : num = int(input()) li = input().split(' ') for j in range(num) : if li[j] in dic : dic[li[j]] += 1 else : dic[li[j]] = 1 for key, value in dic..
![[python] A, B = input().split()이 가능한 이유 (패킹,언패킹)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fc2gzYG%2FbtsMBWdbRrw%2FPLSa5nelQkjZ7YmsfJ2d10%2Fimg.png)
백준 문제를 풀다 보면 항상 이 코드를 쓰게 되는 것 같다.A, B = input().split() 처음에는 별 생각 없이 쓰다가, 어느 순간 "이거 왜 이렇게 쓰는 거지?"라는 궁금증이 들었다.그래서 해당 원리를 정리하고, 이 코드가 사용되는 이유를 설명해보려 한다. 가장 먼저 알아야 할 것은 패킹과 언패킹이다.1. 패킹과 언패킹이란?패킹(Packing)여러 개의 값을 하나의 변수에 묶는 과정이다. 주로 리스트, 튜플 등의 자료구조를 활용하여 여러 데이터를 하나의 단위로 저장한다.# 튜플 패킹packed_tuple = 1, 2, 3 print(packed_tuple) # 리스트 패킹packed_list = [4, 5, 6]print(packed_list)언패킹(Unpacking)패킹된 값을 개별 변수..
![[디지털 포렌식 2급] 파일 시스템과 FAT32](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbB583W%2FbtsMCrXfuM0%2FP7QcmKnxuk7AoqT96C6Ve0%2Fimg.png)
FAT (File Allocation Table)정의: MS-DOS의 파일 시스템으로 파일 할당 테이블을 사용클러스터 번호 표현 비트수와 최대 클러스터 개수FAT12: 12비트, 최대 4,084개FAT16: 16비트, 최대 65,524개FAT32: 32비트, 최대 67,092,481개구조: Reserved Area → FAT Area → Data AreaFAT32 상세USB 포맷 시 주로 사용되는 파일 시스템: FAT32, NTFS, exFAT파일 삭제 방법:디렉터리 엔트리 첫번째 바이트 0xE5로 변경FAT에서 할당된 클러스터 정보가 모두 0으로 변경LFN 엔트리의 첫번째 바이트도 0xE5로 변경중요: 데이터가 완전히 삭제되지 않고 복구 가능함플래시 메모리특성: 전기적으로 데이터를 읽고 쓸 수 있는 반..
![[네트워크] 무선 LAN(Wi-Fi) 개요 및 보안 표준 정리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbtdymC%2FbtsMCol3OOt%2FztLGpj5ZHE6tmCz4M1fAQK%2Fimg.png)
1. LAN과 SSIDSSID (Service Set Identifier)SSID는 특정 도메인에서 서비스를 제공하는 액세스 포인트(AP)의 고유 식별자. 보통 비콘 프레임(Beacon Frame) 을 통해 평문 형태로 전달된다.( 비콘 프레임은 Wi-Fi 네트워크에서 AP(Access Point)가 주기적으로 방송하는 관리 프레임)주요 용어AP (Access Point) : 무선 네트워크의 중앙 역할을 하는 장치STA (Station) : 네트워크에 접속하는 클라이언트 장치 (예: 스마트폰, 노트북 등)2. IEEE 802 시리즈IEEE 802 시리즈는 LAN(Local Area Network) 표준을 위한 위원회에서 정의한 네트워크 규격.무선 LAN에 대한 표준은 IEEE 802.11이 담당.IEEE..
![[네이버 클라우드] NAVER CLOUD PLATFORM, HANDS-ON LAB 후기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FpJ05i%2FbtsFQxLnhJ3%2FGTBbJPNKpGcrjIK1at8sB0%2Fimg.png)
평소 클라우드에 관심은 있지만 어려워 보여 접근을 하지 못했는데네이버 클라우드에서 주최하는 HANDS-ON-LAB은 무료 교육이라길래 다녀와봤습니다! 먼저 HANDS ON LAB에 대해 설명드리자면네이버 클라우드에서 진행하는 무료 교육으로 네이버를 처음 접하는 사용자가 대상입니다.교육 시간은 10시~17, 교육장소는 네이버 클라우드 플랫폼 교육장 (강남 테헤란로)였습니다.점심 식사와 카페 음료가 제공되었고 대신 노트북이 필수였습니다 ▼ 신청은 아래의 네이버 클라우드 플랫 사이트에서 NAVER CLOUD PLATFORMcloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology C..
![[웹해킹] SQL INJECTION 공격 종류 (In band / blind / out of band )](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcKxXPb%2FbtsMBUZVG8t%2FjQNkxzPSOUjuWf6LEs8YRK%2Fimg.png)
● SQL INJECTION 공격 종류 ○ IN-BAND SQL INJECTION 가장 일반적인 SQL injection으로 같은 통신 채널을 사용하여 공격 코드를 주입하고 결과를 수집할 수 있을때 수행하는 공격 - Error based SQL injection : 쿼리를 조작하여 에러를 발생시키고 에러 메세지를 분석하여 정보를 수집하는 공격 - Union based SQL injection : 두개 이상의 SELECT 구문을 사용해 연접하여 추가정보를 포함하도록 하는 공격 ○ BLIND SQL INJECTION 인벤드 SQL 인젝션과 달리 직접적인 결과 수집이 어려울 경우 사용하는 공격 기법 - Bolean based SQL injection :..
![[네트워크 보안] IDS와 IPS 차이점 (+HIDS,NIDS 차이점)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fu6NMN%2FbtsMC0ZkUeL%2F0Ya26MEcTUnisyxXSvEGx0%2Fimg.png)
●IDS란?Intrusion detection system의 약자로 시스템에 대한 원치 않는 조작을 탐지하여 준다. 즉 탐지가 핵심 기능이다. 이미 발견되고 정립된 공격 패턴을 미리 입력하여 해당 패턴을 탐지하면 알려주도록 설정되어있다.HIDS(호스트 기반)와 NIDS(네트워크 기반)로 구분 가능하며, 설치의 위치에 따라 구분된다. 스노트가 대표적이다. ●IPS란?Intrusion prevention system의 약자로 시스템에 대한 원치 않는 조작을 탐지하고 차단해준다. 즉 IDS에서 발전해 방화벽의 차단 기능을 부과한 시스템이라고 생각하면 된다. 따라서 IPS와 IDS의 차이점은 차단기능의 유/무이다.