목록코팅테스트 (330)
For Programmer

1. 선택정렬 선택정렬 코드 선택정렬 시간복잡도 삽입정렬 삽입 정렬 소스코드 array = [7,5,9,0,3,1,6,2,4,8] for i in range(1,len(array)): for j in range(i,0,-1): # 인덱스 i부터 1까지 1씩 감소하며 반복하는 문법 if array[j] < array[j-1]: #한 칸씩 왼쪽으로 이동 array[j],array[j-1] = array[j-1],array[j] else: #앞쪽은 이미 정렬이 되어있기 때문에 자기보다 작은 데이터 만나면 그자리에서 멈춤 break print(array) 삽입정렬 시간 복잡도 퀵 정렬 소스코드 array = [5,7,9,0,3,1,6,2,4,8] def quick_sort(array,start,end): if ..

#N,M을 공백을 기준으로 구분하여 입력받기 n,m = map(int,input().split()) #2차원 리스트의 맵 정보 입력 받기 graph=[] for i in range(n): graph.append(list(map(int,input()))) #DPS로 특정 노드를 방문하고 연결된 모든 노드들도 방문 def dfs(x,y): #주어진 범위를 벗어나는 경우에는 즉시 종료 if x= n or y =m: return False #현재 노드를 방문하지 않았다면 if graph[x][y] == 0: #해당 노드 방문 처리 graph[x][y] = 1 #상 하 좌 우의 위치들도 재귀적으로 호출 dfs(x-1,y) dfs(x,y-1) dfs(x+1,y) dfs(x,y+1) return True return..

dfs 동작 예시 DFS 소스코드 예제 #DFS 메서드 정의 def dfs(graph,v,visited): #현재 노드를 방문 처리 visited[v] = True print(v,end=' ') # 현재 노드와 연결된 다른 노드를 재귀적으로 방문 for i in graph[v]: if not visited[i]: dfs(graph,i,visited) #각 노드가 연결된 정보를 표현(2차원 리스트) graph = [ [], #1부터 시작하기 위해 0인덱스는 빈리스트 [2,3,8], #1번과 인접한 노드 [1,7], #2번과 인접한 노드 [1,4,5], #3번과 인접한 노드 [3,5], #4번과 인접한 노드 [3,4], #5번과 인접한 노드 [7], #6번과 인접한 노드 [2,6,8], #7번과 인접한 노드..

탐색이란? 스택자료구조란? -> 파이썬에서는 stack 라이브러리를 제공한다. 큐 자료구조란? -> list로도 구현이 가능하나 시간복잡도 면에서 손해기 때문에 deque를 이용하는것이 낫다.

문제2 나의코드 N = int(input()) count = 0 for i in range(N+1): for m in range(60): for s in range(60): if(s == 3 or m == 3 or i == 3): count += 1 elif(s == 13 or m == 13 or i == 13): count +=1 elif(s== 23 or m == 23 or i == 23): count +=1 elif (s == 43 or m == 43): count += 1 elif (s == 53 or m == 53): count += 1 elif ((s >= 30 and s= 30 and m 0 ): count += 1 nx = column + dy[1] + dy[1] #서서남 ny = row ..

코딩테스트에서 구현이란? -> dx= [0,-1,0,1] dy=[1,0,-1,0] -> x는 행 , y는 열로 보면된다. 동쪽으로 갈때는 (0,1) 이 되는데, 행은 이동하지않고 열만 오른쪽으로 한칸 이동해야하기 때문에 (0,1)이 나온다. 북쪽은 (-1,0) 이 되는데, 행을 오른쪽 한칸 올리고 열을 가만히 냅두면 된다. 구현 대표적 문제1 나의 코드 n = int(input()) data = list(map(str,input().split())) nx = 1 ny = 1 dx = [0,-1,0,1] #동,북,서,남 #R U L D dy = [1,0,-1,0] #동,북,서,남 #R U L D for i in range(len(data)): if(data[i] == "R"): # data[i] 가 "R"..