본문 바로가기

알고리즘66

[알고리즘] 00. 자료구조 리마인드 사담 공간 알고리즘을 본격적으로 포스팅하기에 앞서, 이전에 공부했던 자료구조를 리마인드해보자! 키워드 #스택 #큐 #트리 #그래프 #재귀 1. 스택 더보기 지난 글 참조 https://ll2ll.tistory.com/9 [자료구조] 06. 스택 (Stack) 사담 공간 드디어 고오급 자료구조에 입문하게 된다..!! 그래도 스택이랑 큐까지는 할만했던 것 같은데 트리부터가...허허 알고리즘 전까지는 최대한 개강 전에 끝내보자 ㅠㅠ 키워드 #스택 #후 ll2ll.tistory.com LIFO : Last In First Out, 후입선출 데이터의 삽입과 삭제가 스택의 맨 위 지점 (top) 에서만 발생하는 자료구조. 재귀 포스팅에서 콜스택에 대해 다뤘었다. 왜 재귀에서는 이러한 "스택" 자료구조를 사용할까? .. 2023. 9. 11.
[자료구조] 09. 그래프 - 개념과 표현방식 사담 공간 정말 오랜만에 블로그 포스팅을 한다... 학기 중엔 사실 시간이 너무 없기도 했고 ㅠㅠ 알고리즘 파트까지는 이번 방학 중에 끝내보자!! 알고리즘 파트부터는 다음 서적을 참고했다 https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844 2023. 1. 3.
[BOJ] 10866. 덱 문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 주요 아이디어 덱 구현 문제이다. 큐와 거의 유사하게 구현했다! 코드 구현 (Python 3) 더보기 # 덱 ''' 큐 문제에서 메서드만 변경/추가하면 될 것 같다! 반복 입력 작성 시 sys.stdin.readline() 사용 잊지 말 것! ''' import sys input=sys.stdin.readline global f, r deque = [] # push def p.. 2022. 9. 7.
[BOJ] 10845. 큐 문제 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 주요 아이디어 이전 포스팅과 마찬가지로 단순하게 큐를 구현하는 문제이다. 코드 구현 (Python 3) 더보기 # 큐!!!!!!!!!! ''' 아까 풀었던 스택 문제랑 비슷하게 풀면 될것같다 반복 입력 작성 시 sys.stdin.readline() 사용 잊지 말 것! ''' import sys input=sys.stdin.readline global f, r queue = [.. 2022. 9. 7.
[BOJ] 10828. 스택 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 주요 아이디어 기본적인 스택 구현 문제이다. 코드 구현 (Python 3) 더보기 배열 기반 스택을 구현하고자 했다. # 스택은 전역으로 (매번 전달하기 귀찮) stack = [] def size(): print(len(stack)) def empty(): if len(stack) < 1: print(1) return 1 else: print(0) return 0 def p.. 2022. 9. 7.
[BOJ] 10816. 숫자카드 2 문제 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 주요 아이디어 처음에 정렬하는 방법을 생각했는데 그냥 딕셔너리가 더 편한것 같다 (파이썬 한정) 주어진 숫자카드 리스트의 개수를 딕셔너리화하고, 찾아야 하는 num_list 반복문 돌리면서 딕셔너리에서 개수를 가져온다. 매번 비교하며 카운트하는 방법은 시간 초과 뜰 가능성이 높다! 코드 구현 (Python 3) 더보기 N = int(input()) # 숫자카.. 2022. 9. 7.