본문 바로가기

분류 전체보기

(638)
[이진 탐색 알고리즘] 부품 찾기 - 파이썬(python) 부품 찾기 난이도 : 中下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n = int(input()) goods = list(map(int, input().split())) m = int(input()) wants = list(map(int, input().split())) goods.sort() def binary_search(array, target, start, end): while start target: end = mid - 1 elif array[mid] < target: start = mid + 1 return None result = 0 for i in wants: result = binary_search(goods, i, 0, n-1) if result ==..
[디스크 포렌식] GPT 파티션 분석 GPT 파티션 - 최근 많이 사용되는 EFI 시스템에서 사용되는 디스크 형식 - MBR과 마찬가지로 디스크 정보 포함 - LBA 방식 사용 - 파티션 생성 시 처음 부분과 마지막 부분에 여유 공간을 두어 MBR -> GPT 변환을 지원 - 0번 섹터에 MBR 구조를 가지지만 GPT 파티션 시작 위치가 저장 - 저장되는 주소 형태는 MBR과 같음 - GPT 파티션은 파티션 타입에 0xEE 사용 - 보통 GPT 파티션의 경우에는 1번 섹터에 정보가 저장 Primary GPT Header - 1번 섹터에 위치 - GPT에 대한 설정 정보를 저장 - GPT 헤더 정보는 92바이트로 구성 의미 byte 내용 Signature 8 "EFI PART" 기록 Revision 4 버전 1.0을 의미 Header Size..
[정렬 알고리즘] 두 배열의 원소 교체 - 파이썬(python) 두 배열의 원소 교체 난이도 : 下 풀이 시간 : 20분 시간 제한 : 2초 메모리 제한 : 128 MB 해답 n, k = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort() b.sort(reverse=True) for i in range(k): if a[i] < b[i]: a[i], b[i] = b[i], a[i] else: break print(sum(a)) 예시 n, k = map(int, input().split()) a = list(map(int, input().split())) b = list(map(int, input().split())) a.sort()..
[정렬 알고리즘] 성적이 낮은 순서로 학생 출력하기 - 파이썬(python) 성적이 낮은 순서로 학생 출력하기 난이도 : 下 풀이 시간 : 20분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n = int(input()) array = [] for i in range(n): input_list = input().split() array.append((input_list[0], int(input_list[1]))) array = sorted(array, key=lambda x: x[1]) for x in array: print(x[0], end=' ') 예시 n = int(input()) array = [] for i in range(n): input_data = input().split() array.append((input_data[0], int(input_data[1..
[정렬 알고리즘] 위에서 아래로 - 파이썬(python) 위에서 아래로 난이도 : 下 풀이 시간 : 15분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n = int(input()) array = [] for i in range(n): array.append(int(input())) array.sort(reverse=True) for i in array: print(i, end=' ') 예시 n = int(input()) array = [] for i in range(n): array.append(int(input())) array = sorted(array, reverse=True) for i in array: print(i, end=' ') 해설 n과 array에 각각 입력받은 후, 파이썬의 sort() 함수를 사용하여 내림차순으로 정렬하였습니다...
[BFS 알고리즘] 미로 탈출 - 파이썬(python) 미로 탈출 난이도 : 中下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 from collections import deque n, m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int, input()))) dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] def bfs(x, y): queue = deque() queue.append((x, y)) while queue: x, y = queue.popleft() for i in range(4): nx = x + dx[i] ny = y + dy[i] if (nx = n or ..
[DFS 알고리즘] 음료수 얼려 먹기 - 파이썬(python) 음료수 얼려 먹기 난이도 : 中下 풀이 시간 : 30분 시간 제한 : 1초 메모리 제한 : 128 MB 해답 n, m = map(int, input().split()) graph = [] for i in range(n): graph.append(list(map(int, input()))) def dfs(x, y): if (x = m): return False else: if graph[x][y] == 0: graph[x][y] = 1 dfs(x-1, y) dfs(x+1, y) dfs(x, y-1) dfs(x, y+1) return True return False result = 0 for i in range(n): for j in range(m): if dfs(i, j) == True: result = ..
[CodeUp] 코드업 기초 100제 1099번 풀이 - 파이썬(python) 1099 : [기초-2차원배열] 성실한 개미 시간 제한 : 1초 메모리 제한 : 128 MB 문제 설명 영일이는 생명과학에 관심이 생겨 왕개미를 연구하고 있었다. 왕개미를 유심히 살펴보던 중 특별히 성실해 보이는 개미가 있었는데, 그 개미는 개미굴에서 나와 먹이까지 가장 빠른 길로 이동하는 것이었다. 개미는 오른쪽으로 움직이다가 벽을 만나면 아래쪽으로 움직여 가장 빠른 길로 움직였다. (오른쪽에 길이 나타나면 다시 오른쪽으로 움직인다.) 이에 호기심이 생긴 영일이는 그 개미를 미로 상자에 넣고 살펴보기 시작하였다. 미로 상자에 넣은 개미는 먹이를 찾았거나, 더 이상 움직일 수 없을 때까지 오른쪽 또는 아래쪽으로만 움직였다. 미로 상자의 구조가 0(갈 수 있는 곳), 1(벽 또는 장애물)로 주어지고, 먹이..
[CodeUp] 코드업 기초 100제 1098번 풀이 - 파이썬(python) 1098 : [기초-2차원배열] 설탕과자 뽑기 시간 제한 : 1초 메모리 제한 : 128 MB 문제 설명 부모님과 함께 유원지에 놀러간 영일이는 설탕과자(설탕을 녹여 물고기 등의 모양을 만든 것) 뽑기를 보게 되었다. 길이가 다른 몇 개의 막대를 바둑판과 같은 격자판에 놓는데, 막대에 있는 설탕과자 이름 아래에 있는 번호를 뽑으면 설탕과자를 가져가는 게임이었다. (잉어, 붕어, 용 등 여러 가지가 적혀있다.) 격자판의 세로(h), 가로(w), 막대의 개수(n), 각 막대의 길이(l), 막대를 놓는 방향(d:가로는 0, 세로는 1)과 막대를 놓는 막대의 가장 왼쪽 또는 위쪽의 위치(x, y)가 주어질 때, 격자판을 채운 막대의 모양을 출력하는 프로그램을 만들어보자. 입력 첫 줄에 격자판의 세로(h), 가로..
[멀티미디어 포렌식] Find Key(butterfly) 문제에서 png 파일 하나를 줍니다. 열어보겠습니다. 딱히 이상한 부분을 못 느끼겠습니다. 온라인 스테가노그래피 툴인 forensically로 분석해 보겠습니다. Principal Component Analysis 탭을 활성화하니 위와 같이 flag를 구할 수 있었습니다.