Coding Is My Life

코딩은 인생

728x90

전체 글 108

[백준/C++] 거의 최단경로(5719번)

https://www.acmicpc.net/problem/5719 5719번: 거의 최단 경로 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 장소의 수 N (2 ≤ N ≤ 500)과 도로의 수 M (1 ≤ M ≤ 104)가 주어진다. 장소는 0부터 N-1번까지 번호가 매겨져 있�� www.acmicpc.net 문제해결 1. 다익스트라 알고리즘을 통해 목적지까지의 최단 거리를 구한다. 2.최단거리를 구하면서 최단거리의 이전노드들을 trace 벡터에 저장하면서 구한다. 3.trace의 있는 노드의 간선들을 재귀를 통해서 제거한다. 4.다시 한번 다익스트라 알고리즘을 돌려서 최단거리를 구한다. 5.코드에 주석 열심히 달았어요 보면은 이해 될 거예요. 코드 ide.goorm...

[백준]- 트리(1068번) c++

https://www.acmicpc.net/problem/1068 1068번: 트리 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다 www.acmicpc.net 풀이 1.루트노드르르 찾는다. 2.벡터를 이용해서 트리를 만들어준다. 3.dfs를 이용해서 탐색을 한다 3-1. 자식 노드가 0개, 1개, 2개이상일때의 경우를 나눈다음 구현한다. 코드 #include #include #include #include #define max 52 using namespace std; vector tree[max]; int visit[max] = {0,}; int..

백준- c++/c 그룹 단어 체커[1316번]

https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때� www.acmicpc.net 이번 문제도 간단하다. 입력값을 배열로 받은 다음에 하나 하나 방문하면서 다음 단어가 다를 경우 ck함수를 이용하여 비교해 주는 방법으로 매우 간단하게 풀었다 ㅎㅎ 소스코드 #include #include #include #include #include #include using namespace std; int word_len(void); char word[10..

백준- 크로아티아 알파벳[2941번]

https://www.acmicpc.net/problem/2941 2941번: 크로아티아 알파벳 예전에는 운영체제에서 크로아티아 알파벳을 입력할 수가 없었다. 따라서, 다음과 같이 크로아티아 알파벳을 변경해서 입력했다. 크로아티아 알파벳 변경 č c= ć c- dž dz= đ d- lj lj nj nj š s= ž z= www.acmicpc.net 이번문제는 조건에 맞게 크로아티아 알파벳을 앞글자의 따라 경우를 나눠서 간단하지만 길게 풀은 것 같다. 더 쉽게 푸는 방법도 많겠지만 가장 먼저 생각나는 방법으로 풀었다... 소스코드 #include #include #include #include #include #include using namespace std; int main(void){ int cnt ..

728x90