이 영역을 누르면 첫 페이지로 이동
포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

페이지 맨 위로 올라가기

포렌식 & 개발 이야기 - Forensics & Development

Pental - Forensics / iOS / Windows / Android / Kakaotalk / Telegram / Etc

Programming

  • 포렌식 & 개발 이야기 - Forensics & Development
[브론즈 2] 백준 1673 - 치킨 쿠폰 (파이썬)

[브론즈 2] 백준 1673 - 치킨 쿠폰 (파이썬)

2025.09.12
https://www.acmicpc.net/problem/1673치킨 한마리를 먹으면 쿠폰을 1장 준다. 요즘도 쿠폰을 주는 치킨집이 있던가,,쿠폰 K장을 모으면 치킨 1마리로 교환할 수 있다. 처음에 가진 치킨 수 N이 주어졌을 때, 총 몇마리의 치킨을 먹을 수 있는지 구하는 문제이다.3 24 3예시로 다음과 같은 입력이 주어졌다면 분석하면 다음과 같다.처음에 3마리를 주문 했고, 쿠폰 3장을 지급 받았다. 1마리를 교환 했고, 쿠폰이 1장 남아있다. 근데 1마리를 주문하면서 쿠폰 1장을 더 받았기에, 남은 쿠폰은 2개가 되어 한마리를 더 주문할 수 있다.총 5마리를 먹을 수 있는 셈이다. 완전 부럽다.4 3 의 경우 처음에 4마리를 먹었고, 쿠폰 4장을 지급 받았다. 이 치킨 집은 3장당 한마리로 바..
[브론즈 2] 백준 1718 - 암호 (파이썬)

[브론즈 2] 백준 1718 - 암호 (파이썬)

2025.09.12
https://www.acmicpc.net/problem/1718핵심은 평문을 주어진 KEY로 암호화한 문장을 해독하는 것인데, 여기서 중요한 포인트는 키 값에서 +1 처리를 반드시 해줘야 한다는 점이다.S = input().rstrip()KEY = input().rstrip()LONG_KEY = ""while len(LONG_KEY) 암호화할 평문 S와 키 KEY를 입력받는다.키는 평문보다 짧을 수 있기 때문에 평문의 길이에 맞게 반복해서 이어 붙인다.result = []for i in range(len(S)): if S[i] == " ": result.append(" ") else: c = ord(S[i]) - ord('a') k = ord(LONG_..
[브론즈 2] 백준 1592 - 영식이와 친구들 (파이썬)

[브론즈 2] 백준 1592 - 영식이와 친구들 (파이썬)

2025.09.11
https://www.acmicpc.net/problem/1592총 N명의 친구들이 원형으로 앉아 있다. 공을 가진 사람이 공을 던질 때, 현재 그 사람이 받은 횟수가 홀수라면 오른쪽 L번째 있는 사람에게, 짝수라면 왼쪽으로 L번째 있는 사람에게 공을 던진다.특정 친구가 공을 M번 받으면 게임이 끝나고, 공을 총 몇 번 던졌는지 출력하는 문제이다.먼저 배열로 각 친구의 공 받은 횟수를 기록한다.N, M, L = map(int, input().split())A = [0] * N최초의 배열은 [0]으로 초기화 하였으며, N, M, L 은 map을 통해서 입력 받는다.while max_ball != M : A[index] += 1 max_ball = max(max_ball, A[index]) ..
[브론즈 1] 백준 1524 - 세준세비 (파이썬)

[브론즈 1] 백준 1524 - 세준세비 (파이썬)

2025.09.10
https://www.acmicpc.net/problem/1524 세준(S)과 세비(B)가 각각 병사를 가지고 있다. 병사들끼리 전투를 하는데, 가장 약한 병사들끼리 싸운다.전투 규칙은 다음과 같다.1. 세준의 최약체 ≥ 세비의 최약체 → 세비의 병사가 죽는다.2. 세준의 최약체 둘 중 한 쪽의 병사가 전멸할 때까지 반복한다.이 문제에서 조건에 따라서 양쪽 진영의 최약체만 비교하면 된다. 파이썬 리스트 기본 함수인 pop을 사용했으며 O(1)의 시간복잡도를 가진다.또한 정렬을 미리 해주었기 떄문에 -1 번 인덱스의 값이 항상 최약체의 값이다.아래 코드는 내가 작성하였지만 사실 이 문제는 시뮬레이션을 다 돌릴 필요가 없는 문제이다. 규칙상 세준이의 최약제 >= 세비의 최약체 라면 세비만 계속 죽기 때문이다..
[브론즈 2] 백준 1452 - 피시방 알바 (파이썬)

[브론즈 2] 백준 1452 - 피시방 알바 (파이썬)

2025.09.10
https://www.acmicpc.net/problem/1453dp처럼 생겼지만 걍 단순한 구현문제이다.check 배열에 False로 하여 100개를 미리 만들어 두고, 각 손님을 돌면서 해당 자리에 넣고 True로 변경한다.만약 동일한 자리가 들어오게 되면 result 변수에 +1 을 하여 거절당하는 자리를 계산할 수 있다.# 백준 1453 - 피시방 알바check = [False] * 100N = int(input())A = list(map(int, input().split()))result = 0for i in A : if check[i - 1] == False : check[i - 1] = True else : result += 1print(result)
[브론즈 2] 백준 1440 - 타임머신 (파이썬)

[브론즈 2] 백준 1440 - 타임머신 (파이썬)

2025.09.10
https://www.acmicpc.net/problem/1440쉬운 구현문제중 하나이다. HH:MM:SS의 시간을 DD:DD:DD로 입력받았을때 유효한 시간의 갯수만 계싼하면 된다.단 여기서 확인해야하는 점은 시간은 1 ~ 12시까지, 분은 00 ~ 59분까지 초는 00 ~ 59초 까지만 가능하다.따라서 유효성 검증을 하는 함수를 하나 만들어줬다.def check_hour(HH) : if HH > 12 or HH = 60 : return False return Truedef check_second(SS) : if SS >= 60 : return False return True위 함수와 같이 시간과 분, 초를 각각 검증하는 함수를 작성하였고, 각 순열을 만들..
[브론즈 2] 백준 1263 - 펫 (파이썬)

[브론즈 2] 백준 1263 - 펫 (파이썬)

2025.09.09
https://www.acmicpc.net/problem/1362여러 테케가 주어지며 각 케이스는 O W로 시작한다. 0 0 이면 전체 입력이 종료된다.각 테케마다 # 0 이 주어지면 그 케이스는 끝이 난다.E x 는 체중을 빼고, F x는 체중을 더한다. 하지만 처리 도중 W 최종적으로 사망하면 RIP, 생존이고 적정 체중의 1.5배 및 2배 미만이면 :-), 그 외는 :-(을 출력하는 문제이다.# 백준 1362 - 펫import sysinput = sys.stdin.readlinedef opt(O, W) : if W > O * 0.5 and W 0) while True : DATA = input().split() op = DATA[0] weight =..
[브론즈 1] 백준 1356 - 유진수 (파이썬)

[브론즈 1] 백준 1356 - 유진수 (파이썬)

2025.09.09
https://www.acmicpc.net/problem/1356정수 N이 주어졌을 때, 이 수가 유진수인지 판별해야한다.유진수는 어떤 수 N을 앞부분과 뒷부분으로 나누었을 때, 앞부분 각 자리수의 곱과 뒷부분 각 자리수의 곱이 같은 경우를 의미한다.예를 들어서 다음과 같다.1221 -> (12 | 21) => 1 * 2 = 2, 2 * 1 = 2 -> 즉, 유진수1236 -> (123 | 6) => 1 * 2 * 3 = 6, 6 = 6 -> 즉, 유진수1234 -> 어떤 방법으로도 곱이 같아지지 않음 -> 즉, 유진수 아님코드는 다음과 같이 작성하였다.# 백준 1356 - 유진수N = list(input())start = len(N)result = Falsefor i in range(1, start) ..
[브론즈 2] 백준 1297 - TV 크기 (파이썬)

[브론즈 2] 백준 1297 - TV 크기 (파이썬)

2025.09.09
https://www.acmicpc.net/problem/1297이 문제는 TV 대각선 길이 D와 높이, 너비의 비율 H:W 가 주어진다.실제 TV의 높이와 너비 (h, w)는 피타고라스 정리로 표현할 수 있다.여기서는 비율 관계가 성립한다. 아래 수식을 참고하자.즉, 실제 높이와 너비는 H와 W를 일정 비율로 확대한 값이다.사칙연산으로 접근하면 높이와 너비를 K배 만큼 확대한 값이라고 한다면, 다음과 같이 수식을 새울수 있다.흔히 아는 대각선 공식에 대입하면 필요한 수식은 다음과 같다.작성한 코드는 다음과 같다.# 백준 1297 - TV 크기import mathD, H, W = map(int, input().split())R = D / (H ** 2 + W ** 2) ** 0.5print(int(H *..
[브론즈 2] 백준 1350 - 진짜 공간 (파이썬)

[브론즈 2] 백준 1350 - 진짜 공간 (파이썬)

2025.09.09
https://www.acmicpc.net/problem/1350파일 시스템을 공부하는 나에겐 재밌는 문제이다. 먼저 이 문제는 파일 시스템에서는 디스크 공간이 파일 사이즈와 항상 같지 않고, 디스크가 일정한 크기의 클러스터로 나뉘어져있고, 한 클러스터는 오직 한 파일만 이용할 수 있다고 한다.여기서 중요한것은 한 클러스터는 오직 한 파일만 이용할수 있다는 것이다.예제에서 클러스트가 512bytes이고, 600bytes의 파일을 저장하려고 한다면 두개의 클러스터에 저장하게 된다.이렇게 600 bytes의 파일을 저장하게되면 2개의 클러스터를 사용하게 된다.또 하나 중요한것은 한 클러스터에는 하나의 파일만 이용할 수 있다는 점이다.이렇게 500, 12, 100이 들어왔다면 512Bytes에 2개의 파일을 ..
[실버 5] 백준 11723 - 집합 (파이썬)

[실버 5] 백준 11723 - 집합 (파이썬)

2025.08.13
# 백준 11723 - 집합import sysinput = lambda: sys.stdin.readline().rstrip()S = []M = int(input())for _ in range(M) : line = input().split() if len(line) > 1 : op = line[0] num = int(line[1]) if op == "add" : if num not in S : S.append(num) elif op == "remove" : if num in S : S.remove(num) elif op == "check" :..
백준 5522, 10178, 9295, 10569, 2921 (파이썬)

백준 5522, 10178, 9295, 10569, 2921 (파이썬)

2025.08.01
# 백준 5522 - 카드 게임A = [int(input()) for _ in range(5)]print(sum(A))# 백준 10178 - 할로윈의 사탕T = int(input())for _ in range(T) : c, v = map(int, input().split()) print(f"You get {c // v} piece(s) and your dad gets {c % v} piece(s).")# 백준 9295 - 주사위T = int(input())for i in range(T) : a, b = map(int, input().split()) print(f"Case {i + 1}: {a + b}")# 백준 10569 - 다면체T = int(input())for _ in rang..
[실버 3] 백준 6666 - Help Me with the Game (파이썬)

[실버 3] 백준 6666 - Help Me with the Game (파이썬)

2025.07.31
분류 : 구현링크 : https://www.acmicpc.net/problem/6666풀이문제집에서 이거 안풀면 꿈에서 나온다는 말이 있어서 찾아보게된 문제이며, 문제 번호부터가 6666으로 예사롭지가 않다.근데 진짜 문제도 예사롭지 않다.입력을 한번 봐보자+---+---+---+---+---+---+---+---+|.r.|:::|.b.|:q:|.k.|:::|.n.|:r:|+---+---+---+---+---+---+---+---+|:p:|.p.|:p:|.p.|:p:|.p.|:::|.p.|+---+---+---+---+---+---+---+---+|...|:::|.n.|:::|...|:::|...|:p:|+---+---+---+---+---+---+---+---+|:::|...|:::|...|:::|....
[골드 4] 백준 2661 - 좋은수열 (파이썬)

[골드 4] 백준 2661 - 좋은수열 (파이썬)

2025.07.30
분류 : 백트래킹링크 : https://www.acmicpc.net/problem/2661풀이이 문제는 숫자 1, 2, 3 으로만 이루어지는 수열이 있으며, 임의의 길이의 인접한 두 개의 부분 수열이 동일한 것이 있으면, 그 수열은 나쁜 수열이라고 한다.좋은 수열은 인접한 두 개의 부분 수열이 동일하면 안된다. 즉 1212는 마지막 두자리 12가 반복되므로 나쁜 수열이다.길이 N의 좋은 수열 중 사전순으로 가장 앞서는 수열을 찾아야한다.def is_good(seq) : length = len(seq) for i in range(1, length // 2 + 1) : if seq[-i:] == seq[-2 * i : -i] : return False retu..
[실버 2] 백준 11279 - 최대 힙 (파이썬)

[실버 2] 백준 11279 - 최대 힙 (파이썬)

2025.07.29
분류 : 자료구조링크 : https://www.acmicpc.net/problem/11279풀이백준 1927과 비슷한 문제이다. 1927 최소 힙 문제에서는 정석대로 heap에 값을 양수로 넣었지만, 이번 문제는 최대 힙을 구하는 문제이기에, -를 붙여서 음수로 넣어주면 힙에서는 최대 힙으로 정렬되게 된다.이때 문제점은 pop 할때도 음수로 나오기에, 다시한번 -를 붙여주면, 최대 힙으로 출력 할 수 있다.코드# 백준 11729 - 최대 힙import heapqimport sysinput = sys.stdin.readlineN = int(input())heap = []for i in range(N) : x = int(input()) if x == 0 : if len(heap) > ..
  • 최신
    • 1
    • 2
    • 3
    • 4
    • ···
    • 22
  • 다음

정보

포렌식 & 개발 이야기 - Forensics & Development 블로그의 첫 페이지로 이동

포렌식 & 개발 이야기 - Forensics & Development

  • 포렌식 & 개발 이야기 - Forensics & Development의 첫 페이지로 이동

검색

메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

카테고리

  • Category (513) N
    • Forensics (19)
      • Magnet AXIOM (28)
      • Digital Forensics Informati.. (9)
      • Iphone Forensics (25)
      • DFC (7)
      • 디지털포렌식전문가2급 자격증 (10)
      • FTK ACE 자격증 (7)
    • 이것저것 (10)
      • Ubuntu (6)
      • 디스코드 봇 (4)
      • Volatility GUI (2)
    • CTF (32)
      • NEWSECU (14)
      • CTF-d (5)
      • Puzzel - Network Forensics (2)
      • Security Traps (2)
      • system32.kr (5)
      • HMCTF (4)
    • Programming (317) N
      • C (10)
      • Python (11)
      • 백준 (263) N
      • 프로그래머스 (32)
    • 그냥 개발 및 잡담 (9)
      • Docker (2)
      • Google Cloud (3)
      • OS 개발 (3)
    • Best of Best (20)

최근 글

인기 글

댓글

공지사항

아카이브

태그

  • axiom
  • 디지털포렌식
  • 프로그래머스
  • Forensics
  • 파이썬
  • 백준
  • pental
  • 포렌식
  • 전체 보기…

정보

pental의 포렌식 & 개발 이야기 - Forensics & Development

포렌식 & 개발 이야기 - Forensics & Development

pental

블로그 구독하기

  • 구독하기
  • RSS 피드

방문자

  • 전체 방문자
  • 오늘
  • 어제

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © pental.

티스토리툴바