아래는 sort함수의 사용법이다. 리스트.sort()로 사용한다. 숫자는 음수,0,양수 순으로 정렬을 해주고 문자는 대문자가 앞으로 소문자가 뒤로간다. sorted() sorted( , key = , reverse = ) # 뿐 아니라, , , 에도 사용 가능하다. 원본 내용을 바꾸지 않고, 정렬한 값을 반환한다. List, tuple, Dictionary, str에 모두 사용 가능하다. key 를 통하여 정렬할 기준을 정할 수 있다. reverse 가 True이면 내림차순, False이면 오름차순으로 정렬된다. arr = [10, 40, 20, 15] arr = sorted(arr, reverse = True) print(arr) >>>> [40, 20, 15, 10] sort() .sort(key =..
전체 글
이것이 코딩테스트다 178페이지문제이다. 단순한 정렬 문제이다. sort함수를 쓰면 쉽게 구현 할 수 있다. 다만 sort함수는 기본적으로 오름차순이다. 설정을 바꾸어 주는 것이 이문제의 문제였다. 아래는 나의 코드 import sys N = int(sys.stdin.readline()) numbers=[] for i in range(N): numbers.append(int(sys.stdin.readline())) numbers.sort(reverse=True) print(numbers) 아래는 sort함수의 사용법이다. 리스트.sort()로 사용한다. 숫자는 음수,0,양수 순으로 정렬을 해주고 문자는 대문자가 앞으로 소문자가 뒤로간다. sorted() sorted( , key = , reverse = ..

REST란? REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩(Roy Fielding)의 박사학위 논문에서 최초로 소개 되었다. https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm 로이 필딩은 HTTP의 주요 저자중 한 사람이다. 로이 핑딩은 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다. REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일이다. REST(Representational State Tr..

정의 트리 (Tree)란 노드들이 나무 가지처럼 연결된 비선형 계층적 자료구조입니다. 트리는 다음과 같이 나무를 거꾸로 뒤집어 놓은 모양과 유사합니다. 트리는 또한 트리 내에 다른 하위 트리가 있고 그 하위 트리 안에는 또 다른 하위 트리가 있는 재귀적 자료구조이기도 합니다. 컴퓨터의 direcory구조가 트리 구조의 대표적인 예가 될 수 있습니다. 트리 구조에서 사용되는 기본 용어 노드 (Node) 트리를 구성하고 있는 기본 요소 노드에는 키 또는 값과 하위 노드에 대한 포인터를 가지고 있음. A, B, C, D, E, F, G, H, I, J 간선 (Edge) 노드와 노드 간의 연결선 루트 노드 (Root Node) 트리 구조에서 부모가 없는 최상위 노드 root node : A 부모 노드 (Pare..

정의 및 장단점 BFS는 Breadth First Serach로 너비우선탐색이다. 쉽게 말해 가까운 노드부터 탐색하는 알고리즘이다. DFS는 최대한 멀리있는 노드를 찍고 돌아오고 멀리갔다가 돌아로는 탐색이다. BFS는 그 반대이다. 구현방법 BFS는 큐 자료구조를 이용한다. 큐를 이용하면 자연스럽게 먼저들어온것이 먼저 나가게 되어 가까운 노드부터 탐색을 진행하게 된다. 파이썬에서는 deque라이브러리를 이용한 큐 자료구조를 사용하는 것이 보편적이다. 시간복잡도는 O(N)의 시간이 소요된다. 일반적인 경우 실제 수행시간이 DFS보다 좋은편이다. 문제에 따라 DFS의 경우 무한굴레에 빠져 시간이 엄청 길어 질수 있다. 하지만 BFS는 가까운노드에서부터 점차적으로 넓혀가기 때문에 보다 안정적이다. 모든 경우의..

이 문제는 이것이 코딩테스트다. 152페이지 문제이다. BFS문제를 많이 다뤄 보지 않았어서 시간이 오래 소모 되었던 것같다. DFS,BFS는 양식이 거의 비슷하니깐 틀자체를 기본적으로 몸에 익혀야겠다. 아래는 나의 코드이다. import sys from collections import deque N,M = map(int,sys.stdin.readline().split()) myMap = [] visited=[[False]*M for _ in range(N)] moves = [[1,0],[0,1],[-1,0],[0,-1]] for i in range(N): temp=list(map(int,sys.stdin.readline().split()[0])) myMap.append(temp) def BFS(sta..

정의 및 장단점 DFS는 Depth-First Search, 깊이 우선 탐색이라고도 부르며, 그래프에서 깊은 부분을 우선적으로 탐색하는 알고리즘이다. 연결되어 있는 노드를 깊숙히 바고 들어간다. 그 노드의 끝을 보고 다시 돌아오면서 연결되어있는 다른 노드를 찾을시 이번엔 그 노드를 끝까지 파고든다. 스택을 기초로 하고 있다. 구현방법 스택, 재귀함수를 이용하여 구현한다. 스택을 기초로 하지만 직접적으로 사용하지는 않음. O(N)의 시간이 소요. 문제 예시 NxM의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구머이 뚫려 있는 부분끼리 상,하,좌,우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이 때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크..

정의 연결되어 있는 객체 간의 관계를 표현하는 비선형 자료구조 가장 일반적인 자료구조의 형태로, tree도 그래프의 특수한 경우이다. 예를 들면, 전기회로의 소자 간 연결 상태나 혹은 운영체제의 프로세스와 자원 관계 또한 그래프로 표현이 가능하다. 그래프의 종류 1) 무향 그래프 (undirected graph) : 무향 에지는 양방향의 의미임. 예컨대 조합(combination)처럼 (A,B) = (B,A)로 순서에 의미가 없다는 것. 2) 방향 그래프 (directed graph) : 에지를 통해서 한쪽 방향으로만 갈 수 있다는 특징. 즉, ≠ 라는 특성을 보임. cf.) 가중치 그래프: 각 간선에 가중치를 부여한 형태의 그래프. 예를 들면 edge에 비용을 부과하는 형식으로 가중치가 부과될 수 있음..