알고리즘스터디 DFS와 BFS(백준 1260번) 서로 연결된 트리가 있다고 가정을 해보자. dfs함수에 처음으로 탐색을 시작하는 노드를 매개변수로 받아 넣어준다. 그러면 시작하는 노드가 1이라고 했을때 check[1] = true가 되는 것이다. 그리고 1번 노드와 연결된 다수의 노드 수 만큼 반복문을 돌려준다. 1번 노드와 연결된 다수의 노드(2, 4, 8)중 내가 방문하지 않은 노드라면 그 노드를 우선적으로 탐색한다. 의 형태로 되어있... 알고리즘스터디알고리즘스터디 구간합구하기(백준 11659번) link : 누적합 문제이다. 원소에 직접 접근해서 합을 구하는것은 시간이 오래 걸린다. 그래서 구간별로 합을 구해서 배열로 만들어 줘야 한다. 구간의 값을 x랑 y로 받고 y구간 까지의 합과 x-1번째 까지의 합의 배열을 빼주면 구간의 합을 구할 수 있다.... 알고리즘스터디알고리즘스터디 알고리즘 스터디 11주차[dfs/bfs]_02 문제 : 점프 점프 문제 설명 : 배열의 가장 왼쪽 끝에 있고, 가장 오른쪽 끝으로 가려고 한다. 이때, 최소 몇 번 점프를 해야 갈 수 있는지 구하는 문제. 만약, 가장 오른쪽 끝으로 갈 수 없는 경우에는 -1을 출력한다. 코드 : 문제 풀이: 밑에 사진처럼 처음 dp[0]을 0으로 설정하고, arr배열의 해당 데이터의 크기만큼 dp[]의 값들을 1씩 더해가면서 구한다. 참조 :... DFS백준11060BFS알고리즘스터디BFS 알고리즘 스터디 12주차 정렬_01 문제 : 좌표 압축 문제 설명 : 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 코드 : 처음 이런식으로 접근해 3중 for문을 ... 알고리즘스터디구현HashMap정렬StringBuilderHashMap 01타일(백준 1904번) link : 다이나믹 프로그래밍(동적계획법)을 연습할 수 있는 문제이다. 다이나믹 프로그래밍의 경우 점화식을 세울 수 있으면 쉽게 문제를 해결할 수 있다. 이 문제의 경우, 경우의수를 하나하나 나열해보면 이 된다. 이것을 통해 점화식을 세워보면 가 된다. 이것을 코드에 적용시키면 된다.... 알고리즘스터디알고리즘스터디 Maximum Subarray(백준 10211번) link : dynamic programming과 brute force알고리즘이 활용되는 문제이다. 우선 문제를 살펴보면 크기가 n인 배열에 원소의 합이 가장 큰 부분수열을 찾는 문제이다. 처음엔 접근을 두포인터로 접근하여 값들의 합중 가장 큰 값을 답으로 하고자 하였으나 문제에서 요구한 시간을 충족시키지 못할것 같아 다른 방법을 모색하였다. 그 결과 다이나믹 프로그래밍을 적용하게 되었다. ... 알고리즘스터디알고리즘스터디 3Level [1차] 추석트래픽 lines배열 S 기준 오름차순으로 정렬 로그문자열로 이루어짐 로그 문자열 = 응답완료시간 S , 처리시간 T ( 공백으로 구분 ) S = 2016-09-15 hh:mm:ss.sss T = 0.1s / 0.312s / 2s 같이 최대 소수점 셋째자리까지 초 단위로 나타냄 처리시간은 시작시간 , 끝시간 모두 포함 0.001 ≤ T ≤ 3.000 return : 초당 최대 처리량 S와 T를 구분... 알고리즘스터디프로그래머스파이썬알고리즘3레벨3레벨
DFS와 BFS(백준 1260번) 서로 연결된 트리가 있다고 가정을 해보자. dfs함수에 처음으로 탐색을 시작하는 노드를 매개변수로 받아 넣어준다. 그러면 시작하는 노드가 1이라고 했을때 check[1] = true가 되는 것이다. 그리고 1번 노드와 연결된 다수의 노드 수 만큼 반복문을 돌려준다. 1번 노드와 연결된 다수의 노드(2, 4, 8)중 내가 방문하지 않은 노드라면 그 노드를 우선적으로 탐색한다. 의 형태로 되어있... 알고리즘스터디알고리즘스터디 구간합구하기(백준 11659번) link : 누적합 문제이다. 원소에 직접 접근해서 합을 구하는것은 시간이 오래 걸린다. 그래서 구간별로 합을 구해서 배열로 만들어 줘야 한다. 구간의 값을 x랑 y로 받고 y구간 까지의 합과 x-1번째 까지의 합의 배열을 빼주면 구간의 합을 구할 수 있다.... 알고리즘스터디알고리즘스터디 알고리즘 스터디 11주차[dfs/bfs]_02 문제 : 점프 점프 문제 설명 : 배열의 가장 왼쪽 끝에 있고, 가장 오른쪽 끝으로 가려고 한다. 이때, 최소 몇 번 점프를 해야 갈 수 있는지 구하는 문제. 만약, 가장 오른쪽 끝으로 갈 수 없는 경우에는 -1을 출력한다. 코드 : 문제 풀이: 밑에 사진처럼 처음 dp[0]을 0으로 설정하고, arr배열의 해당 데이터의 크기만큼 dp[]의 값들을 1씩 더해가면서 구한다. 참조 :... DFS백준11060BFS알고리즘스터디BFS 알고리즘 스터디 12주차 정렬_01 문제 : 좌표 압축 문제 설명 : 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌표 압축을 적용한 결과 X'1, X'2, ..., X'N를 출력해보자. 코드 : 처음 이런식으로 접근해 3중 for문을 ... 알고리즘스터디구현HashMap정렬StringBuilderHashMap 01타일(백준 1904번) link : 다이나믹 프로그래밍(동적계획법)을 연습할 수 있는 문제이다. 다이나믹 프로그래밍의 경우 점화식을 세울 수 있으면 쉽게 문제를 해결할 수 있다. 이 문제의 경우, 경우의수를 하나하나 나열해보면 이 된다. 이것을 통해 점화식을 세워보면 가 된다. 이것을 코드에 적용시키면 된다.... 알고리즘스터디알고리즘스터디 Maximum Subarray(백준 10211번) link : dynamic programming과 brute force알고리즘이 활용되는 문제이다. 우선 문제를 살펴보면 크기가 n인 배열에 원소의 합이 가장 큰 부분수열을 찾는 문제이다. 처음엔 접근을 두포인터로 접근하여 값들의 합중 가장 큰 값을 답으로 하고자 하였으나 문제에서 요구한 시간을 충족시키지 못할것 같아 다른 방법을 모색하였다. 그 결과 다이나믹 프로그래밍을 적용하게 되었다. ... 알고리즘스터디알고리즘스터디 3Level [1차] 추석트래픽 lines배열 S 기준 오름차순으로 정렬 로그문자열로 이루어짐 로그 문자열 = 응답완료시간 S , 처리시간 T ( 공백으로 구분 ) S = 2016-09-15 hh:mm:ss.sss T = 0.1s / 0.312s / 2s 같이 최대 소수점 셋째자리까지 초 단위로 나타냄 처리시간은 시작시간 , 끝시간 모두 포함 0.001 ≤ T ≤ 3.000 return : 초당 최대 처리량 S와 T를 구분... 알고리즘스터디프로그래머스파이썬알고리즘3레벨3레벨