[백준 33675번] L-트로미노 타일링 (python)
Coding/Python2025. 4. 16. 15:48[백준 33675번] L-트로미노 타일링 (python)

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..

간편 로그인의 종류와 보안 위협 (SSO, OAuth, OIDC)
Security/Secure Coding2025. 4. 15. 16:46간편 로그인의 종류와 보안 위협 (SSO, OAuth, OIDC)

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 ..

[백준 33674] 하늘에서 떨어지는 N개의 별, 파이썬
Coding/Python2025. 4. 4. 15:02[백준 33674] 하늘에서 떨어지는 N개의 별, 파이썬

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
Coding/Python2025. 3. 24. 18:31[백준] 32953번 - 회상, python

문제백준 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()이 가능한 이유 (패킹,언패킹)
Coding/Python2025. 3. 6. 15:57[python] A, B = input().split()이 가능한 이유 (패킹,언패킹)

백준 문제를 풀다 보면 항상 이 코드를 쓰게 되는 것 같다.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
ComputerEngineering2025. 3. 5. 15:31[디지털 포렌식 2급] 파일 시스템과 FAT32

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) 개요 및 보안 표준 정리
ComputerEngineering2025. 2. 17. 15:29[네트워크] 무선 LAN(Wi-Fi) 개요 및 보안 표준 정리

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 후기
Development/Backend2024. 3. 18. 21:23[네이버 클라우드] NAVER CLOUD PLATFORM, HANDS-ON LAB 후기

평소 클라우드에 관심은 있지만 어려워 보여 접근을 하지 못했는데네이버 클라우드에서 주최하는 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 )
Security/Secure Coding2024. 2. 21. 14:35[웹해킹] SQL INJECTION 공격 종류 (In band / blind / out of band )

● 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 차이점)
Security/etc2024. 2. 20. 10:22[네트워크 보안] IDS와 IPS 차이점 (+HIDS,NIDS 차이점)

●IDS란?Intrusion detection system의 약자로 시스템에 대한 원치 않는 조작을 탐지하여 준다. 즉 탐지가 핵심 기능이다. 이미 발견되고 정립된 공격 패턴을 미리 입력하여 해당 패턴을 탐지하면 알려주도록 설정되어있다.HIDS(호스트 기반)와 NIDS(네트워크 기반)로 구분 가능하며, 설치의 위치에 따라 구분된다. 스노트가 대표적이다. ●IPS란?Intrusion prevention system의 약자로 시스템에 대한 원치 않는 조작을 탐지하고 차단해준다. 즉 IDS에서 발전해 방화벽의 차단 기능을 부과한 시스템이라고 생각하면 된다. 따라서 IPS와 IDS의 차이점은 차단기능의 유/무이다.

반응형
image