전체 글 50

이것이 코딩테스트다 39 화성 탐사 (Python)

문제 링크 화성 탐사 기계가 존재하는 공간은 N x N 2차원 공간이며 각각의 칸을 지나기 위한 비용이 존재한다. 가장 왼쪽 칸에서 가장 오른쪽 아래 칸인 위치로 이동하는 최소 비용을 출력하는 프로그램을 작성하세요. Test Case 입력 3 3 5 5 4 3 9 1 3 2 7 5 3 7 2 0 1 2 8 0 9 1 1 2 1 8 1 9 8 9 2 0 3 6 5 1 5 7 9 0 5 1 1 5 3 4 1 2 1 6 5 3 0 7 6 1 6 8 5 1 1 7 8 3 2 3 9 4 0 7 6 4 1 5 8 3 2 4 8 3 7 4 8 4 8 3 4 출력 20 19 36 문제 풀이 기존에 이코테 책에서 나오던 다익스트라 스타일이 아닌 문제. 기존에 풀던 다익스트라 문제는 노드1에서 노드2로 가는 비용을 주어지..

Develop/algorithm 2021.09.03

이것이 코딩테스트다 38 정확한 순위 (Python)

문제 링크 선생님은 시험을 본 학생 N명의 성적을 분실하고, 성적을 비교한 결과의 일부만 가지고 있다. 학생 N명의 성적은 모두 다른데 다음은 6명의 학생에 대하여 6번만 성적을 비교한 결과다. 1번 학생 → 5번 학생 3 → 4 4 → 2 4 → 6 5 → 2 5 → 4 A번 학생의 성적이 B번 학생보다 낮다면 화살표가 A에서 B를 가리키도록 한다. 위에 제시된 정보를 유추해서 순위를 정확히 알 수 있는 학생도 있고, 알 수 없는 학생도 있다. 정리하면 4번 학생보다 성적이 낮은 학생은 3명이고, 성적이 높은 학생은 2명이므로 4번 학생의 성적 순위를 정확히 알 수 있지만 다른 학생은 정확한 순위를 알 수 없다. 학생들의 성적을 비교한 결과가 주어질 때, 성적 순위를 정확히 알 수 있는 학생은 몇명인지..

Develop/algorithm 2021.08.28

백준 11404 플로이드 (Python)

문제 링크 https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net Test Case 문제 풀이 모든 점에서 모든 점으로 가는 최소값을 구하는 문제. 문제를 읽고 제목을 보지않더라도 바로 플로이드 문제인걸 알아야한다. 그닥 특이점은 없지만 문제 마지막줄에 '시작 도시와 도착 도시를 연결하는 노선은 하나가 아닐 수 있다.' 라는 점과 예제에서 3 -> 4 정보가 두개라는 점에서 graph[a][b] = min(graph[a][b], c) 만 신경쓰면 된다..

Develop/algorithm 2021.08.25

백준 2887 행성 터널 (Python)

문제 링크 https://www.acmicpc.net/problem/2887 2887번: 행성 터널 첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이 www.acmicpc.net Test Case 문제 풀이 처음에는 단순한 크루스칼 문제로 풀면 될줄 알았는데, N 조건을 보면 최대 100,000이기 때문에 모든 노드를 연결하는 경우의 수인 N(N-1)/2개를 다 계산하면 시간초과가 나온다. 따라서 다른 방법으로 두 행성간의 거리를 확인해야 한다. 터널의 비용이 min(X좌표 차, Y좌표차, Z좌표 차)인 점을 생각해서, 주어진 각..

Develop/algorithm 2021.08.22

[AFOS] AWS Fundamental Online Study 종료

블로그를 시작하게 된 계기를 만들어준 AFOS 스터디가 끝났다. 9주차 10주차 실습내용이 있는데 해당 주차는 모두 wordpress를 통한 실습이어서 혼자 실습은 했지만 굳이 포스팅 하지는 않으려고 한다. 나중에 내 블로그가 커지거나 개인적인 욕심이 생겨서 wordpress로 이사가게 되는 일이 생긴다면 .. 다시 참고할수는 있을 것 같다. 지푸라기라도 잡는 심정으로 네트워크 엔지니어에서 클라우드 쪽으로 전직(?) 하려던 찰나에 이런 소중한 스터디 기회를 주신 CloudNet@ 팀에게 다시 한번 감사하다는 말씀을 드리고 싶다. 링크를 따라가보면 CloudNet@ 팀의 블로그를 볼 수 있는데, AWS나 쿠버네티스에 관심이 많으신 듯 하다. 나 또한 현재 쿠버네티스 공부를 한참 하고있어서 추후에 직장인을 ..

Infra/cloud 2021.08.19

이것이 코딩테스트다 43 어두운 길 (Python)

문제 링크 한 마을은 N개의 집과 m개의 도로로 구성되어 있습니다. 각 집은 0번부터 N-1번까지의 번호로 구분됩니다. 모든 도로에는 가로등이 구비되어 있는데, 특정한 도로의 가로등을 하루 동안 켜기 위한 비용은 해당 도로의 길이와 동일합니다. 예를 들어 2번 집과 3번 집 사이를 연결하는 길이가 7인 도로가 있다고 해봅시다. 하루 동안 이 가로등을 켜기 위한 비용은 7이 됩니다. 정부에서는 일부 가로등을 비활성화하되, 마을에 있는 임의의 두 집에 대하여 가로등이 켜진 도로만으로도 오갈 수 있도록 만들고자 합니다. 결과적으로 일부 가로등을 비활성화하여 최대한 많은 금액을 절약하고자 합니다. 마을의 집과 도로 정보가 주어졌을 때, 일부 가로등을 비활성화하여 절약할 수 있는 최대 금액을 출력하는 프로그램을 ..

Develop/algorithm 2021.08.19