| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 레지스터
- 백준
- 최소힙
- 코딩테스트
- IT동아리
- compiler
- 트리
- dfs
- 자바스프링
- JUNGOL
- 리버싱
- frontend
- 최대힙
- UMC
- 코테
- 백준온라인저지
- 위상정렬
- c++
- 학습회고
- 컴파일러
- 자료구조
- 사이클 판별
- 투포인터
- abexcrackme
- UMC 블로그챌린지
- UMC10기
- boj
- 정올
- abex_crackme
- parser
- Today
- Total
목록전체 글 (148)
박박공부
https://jungol.co.kr/problem/5545?cursor=NiwxLDc%3D 문제 딱 보자마자 뭔가 배열로 낚으려는 것 같지만 (티어도 낮다), 나는 배운 여자니까 공배수로 풀어야겠다 훗 했는데 별로 다들 안 낚였길래 힝.. 됨 배열을 2차원으로 만들면 무조건 병크 생길 것 같아서 처음에는 배열 하나로 풀 수 있는 방법이 없는지 고민했는데 case가 4개길래 불가능이라 판단공배수와 약수 문제라는 생각이 들어서 보자마자 바로 lcm 함수를 만들었다. lcm 함수에 gcd가 필요해서 gcd 만들고 lcm 만들었다. lcm 함수만 있으면 둘 다 실패한 경우를 바로 구할 수 있고, 하나만 실패한 경우는 몫 - 둘 다 실패한 경우로 쉽게 구할 수 있기 때문에 lcm로 하나만 구하면 나머지는 바로 ..
https://jungol.co.kr/problem/1024?cursor=MTAsOCw2 그냥 DFS 문제인 줄 알고 도전했는데 시간초과가 난.. 메모이제이션을 이용하는 문제뇌가 잘 안 굴러가서 Claude한테 힌트를 조금 얻었다.. DFS로 탐색하며 이동하는 문제인데, 숫자가 낮은 방향으로만 이동할 수 있다.이 조건만 추가하면 될 것 같은 문제라 visited 없이 count 세는 방식으로 처음에 풀이를 진행했다.. void dfs(int x, int y) { if (x == N-1 && y == M-1) { cnt++; return; } for (int i = 0; i 예제의 경우 숫자가 작아서 답이 나오지만 뭔가 딱 봐도 그래도 골드 3이고 옛날 문제긴 해..
학연생을 시작하게 됐는데 교수님 랩실에서 무슨 매주 1문제 교수님이 준 PS 문제풀기 못풀면 남기 이런걸 한다중학교 때 정올 사이트 계정 있었는데 남아있는지 모르겠어서 새로 팠다 (요이~) 생 구현 문제는 누가 시키지 않는 이상 먼저 손을 안 대는 유형이기도 해서 문제의 난이도와 별개로 꽤 해맸다 백준 사라지고 처음이라서 너무 오랜만이었고, 백준보다도 먼저 사용하던 사이트라 반가웠다 https://jungol.co.kr/problem/1733?cursor=Niw2LDc%3D 오목을 판별하는 문제인데 6목이 있으면 안된다6목 체크가 제일 어려운 문제 내가 난항을 겪은 이유는 2가지- (0,0)에서 시작하기 때문에 왼쪽 아래 대각선으로 움직이며 체크해야하면 충분한데 그 이외 4가지 방향까지 생각하느랴 dx..
💡 What I Learned- 어셈블리 코딩- pwntools 사용법- Command Injection 개념 + 실습- Shellcode 개념 + 실습 이번에도 중요하다 생각되고 다시 복습해야한다고 생각되는 친구들 위주로 Packing & UnPacking패킹과 언패킹은 데이터를 하나의 형태로 모아 포장하거나 다시 분해하는 것을 의미시스템 해킹에서는 정수 값을 bytes 클래스로 변환하거나 그 반대의 행위가 자주 요구되기에 pwntools에서는 이 기능이 함수로 구현되어 있음 → 이를 패킹과 언패킹이라고 함p8(), p16(), p32(), p64()는 숫자를 bytes 클래스로 패킹하는 함수u8(), u16(), u32(), u64()는 bytes 클래스를 숫자로 언패킹하는 함수from pwn im..
💡 What I Learned- 해킹 팁 (netcat, ssh, vm 포트포워딩, docker, 정규표현식)- 리버싱 팁 (확장자, HxD, Ghidra)- 리눅스 기초 (셸, 파일과 디렉터리, 프로세스 생성 및 관리, 환경 변수, 파일 디스크립터, 그룹)- 리눅스 초급 (APT 패키지 관리, 리눅스 네트워크)- 리눅스 메모리 레이아웃- GDB (pwngdb) 사용하기- NASM과 x86 어셈블리어- 함수호출 규약 (Calling Convention) 저번 주차보다는 pawnable 관련된 것들을 많이 배웠고, 처음 보는 친구들도 많았다.처음 봤는데 인상깊었거나, 이미 알던 내용인데 더 알게 되어 중요한 것들 위주로 정리 ↔ VM 포트포워딩과 VSC Remote-SSH ExtensionVM > 머신 ..
Entity Sets 엔티티 집합Entity현실 세계에서 구별 가능한 객체특정 사람, 회사, 이벤트, 식물Entity Set같은 타입의 엔티티들의 집합예: 모든 교수의 집합 → instructorAttribute엔티티를 설명하는 속성들instructor = (ID, name, salary)course = (course_id, title, credits)Primary Key엔티티 집합에서 각 멤버를 유일하게 식별하는 속성의 부분집합ER 다이어그램에서 Entity 집합 표현하기사각형 - Entity Set사각형 안 텍스트 - Attributes밑줄 - Primary key 속성!image.pngRelationship Sets 관계 집합Relationship(관계)여러 엔티티 간의 연관!image.pngRel..
프로그래밍 언어에서 SQLSQL만으로 부족한 이유 2가지SQL은 범용 언어의 표현력이 없음 → 재귀적 알고리즘이나 복잡한 반복 개산 불가능비선언적 작업이 불가능함 → 화면에 출력하거나, 사용자 입력받거나 GUI에 결과 보내는 것 불가능따라서 범용 언어 + SQL 같이 씀Accessing SQL프로그래밍 언어에서 SQL을 쓰는 방식 2가지API 방식 (Dynamic SQL)프로그램이 함수 집합을 통해 DB 서버에 연결ex) JDBC(Java), ODBC(C/C++)Embedded SQLSQL 문을 소스 코드에 직접 삽입컴파일 타임에 SQL이 함수 호출로 변환됨;런타임에 그 함수들이 DB API를 통해 실행ex) SQLJ💡API는 런타임에 SQL 문자열을 보내고, Embedded SQL은 컴파일 시점에 S..
Joined Relations 조인 관계조인 연산은 두 릴레이션을 입력받아 하나의 릴레이션을 결과로 반환카테시안 곱에서 조건에 맞는 튜플만 매칭, 결과에 포함될 속성을 따로 지정FROM 절 안에 서브쿼리 표현식으로 사용됨Join의 세 가지 종류Natural JoinInner JoinOuter JoinNatural Join in SQL (자동 JOIN)두 릴레이션에서 공통 속성(이름이 같은 컬럼)의 값이 모두 같은 튜플끼리 매칭공통 컬럼은 결과에 하나만 남음where 로 직접 조인 조건 명시select name, course_idfrom students, takeswhere student.ID = takes.IDnatural join으로 동일 쿼리select name, course_idfrom studen..
SQL 개요역사IBM이 System R 프로젝트에서 Sequel 언어 개발 → SQL 이름 변경변천사: SQL-86 → SQL-89 → SQL-92 → SQL:1999 → SQL:2003상용 DBMS는 SQL-92를 기본으로 하되 각자 확장/독자 기능을 가짐SQL partsSQL은 단순한 Query 언어가 아니라 6개 부분으로 구성됨DML: 조회, 삽입, 삭제, 수정Integrity: 무결성 제약 명세 (DDL의 일부)View definition: 뷰 정의 (DDL의 일부)Transaction control: 트랜잭션의 시작/끝Embedded/Dynamics SQL: 다른 언어에 SQL 삽입Authoriation: 권한 부여DDL Data Definition LanguageDDL이 명세하는 것릴레이션 스..
Attribute (속성, 열/Column)테이블의 각 열각 속성은 특정한 타입(도메인)의 값만 가질 수 있음Tuple (튜플, 행/Row)테이블의 각 행 하나각 튜플은 하나의 실제 데이터 개체를 나타냄Relation (릴레이션)전체 테이블 자체를 릴레이션이라고 함수학적으로 튜플들의 집합임 (중복 행 없음)Relation Schema and InstanceRelation Schema (릴레이션 스키마)릴레이션의 구조/설계도속성들의 이름과 타입을 정의A1, A2, … An 은 속성R = (A1, A2, … An)을 릴레이션 스키마라고 함ex) instructor = (IDm name, dept_name, salary)프로그래밍으로 비유하면 클래스 정의와 비슷거의 변하지 않음Relation Instance ..