전체 글(586)
-
탐색 알고리즘 정리
탐색 탐색은 주어진 데이터에서 자신이 원하는 데이터를 찾아내는 알고리즘을 말한다. 주어진 데이터의 성질(정렬 데이터 또는 비정렬 데이터)에 따라 적절한 탐색 알고리즘을 선택하는 것이 중요하고, 실제 모든 코딩 테스트 문제의 기본이 되는 알고리즘이므로 직접 구현해 원리를 완벽하게 이해하는 것이 중요하다. 탐색 영역에서는 그래프를 자주 탐색하므로 아래 저의 블로그를 참고하고 보면 좋을 것 같습니다. https://mkisos.tistory.com/entry/%EA%B7%B8%EB%9E%98%ED%94%84%EC%9D%98-%ED%91%9C%ED%98%84-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0 깊이 우선 탐색 깊이 ..
2024.02.11 -
백준 10798 파이썬
백준 10798 : 세로읽기 문제 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 답안 코드 : List = [] # 입력을 수집합니다. for i in range(5): a = input() List.append(a) # 문자를 세로로 출력합니다. for j in range(max(len(word) for word in List)): for i in range(5): if j < len(List[i]): print(List[i][j],..
2024.02.11 -
그래프의 표현 (알고리즘, 자료구조)
그래프에 대해서 그래프는 노드와 에지로 구성된 집합이다. 노드는 데이터를 표현하는 단위이고 에지는 그 노드들을 연결한다. 그래프는 여러 알고리즘에 많이 사용되는 자료구조이므로 코딩 테스트에서 자주 볼 수 있다. 그래프를 구현하는 3가지 방법 1. 에지 리스트 2. 인접 행렬 3. 인접 리스트 2차원 리스트 생성 0으로 초기화한 행(row) 개수 3, 열(column) 개수 4인 2차원 리스트를 생성할 때 리스트를 객체를 생성하는 방법 -> 추천!!! A = [[0 for col in range(4)] for row in range (3)] 얕은 복사를 일으켜 생성하는 방법 A = [[0]*4]*3 # 이와 같은 방식으로 선언한 후 값을 변경하면 다른 원소의 값도 함께 변경될 수 있다. A= [[0]*4]..
2024.02.10 -
돈과 인생의 비밀 (the Secret _ 론다 번)
돈의 비밀 돈을 끌어당기려면 부에 집중해야 한다. 돈이 부족하다는 점을 느끼면 서 돈을 더 많이 끌어당길 수는 없다. 돈이 부족하다고 느낀다는 건 돈이 부족하다고 생각한다는 뜻이기 때문이다. 돈이 부족하다는 사실에 집중 하면 돈이 부족한 온갖 상황을 만들어내게 될 것이다. 돈을 끌어당기려 면 반드시 풍족한 상대에 집중해야 한다. 시크릿 수표 한국어 버전 수표 홈페이지에서 찾는데 엄청 찾기 어렵게 되어 있었다.. 풍요를 끌어당겨라 어떤 사람이 돈이 충분하지 않은 유일한 이유는 생각으로 돈이 오지 못하게 "막고 있기' 때문이다. 모든 부정적인 생각이나 감정이나 느낌은 좋은 것이 당신에게 오지 못하게 막는다. 좋은 것에는 돈도 해당된다. 우주가 당신에게 돈을 주지 않기 때문이 아니다. 당신이 요구하는 돈은 이..
2024.02.10 -
백준 2566 파이썬
백준 2566 : 최댓값 문제 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 답안 코드 : table = [list(map(int, input().split())) for _ in range(9)] max_num = 0 max_row, max_col = 0, 0 for row in range(9): for col in range(9): if max_num
2024.02.10 -
백준 11003 파이썬, 덱 구현해서 정렬(슬라이딩 윈도우)
백준 11003 : 최솟값 찾기 문제 https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 답안 코드 : from collections import deque N, L = map(int, input().split()) mydeque = deque() now = list(map(int, input().split())) for i in range(N): while mydeque and mydeque[-1][0] > now..
2024.02.09