분류 전체보기 50

이것이 코딩테스트다 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

백준 10775번 공항 (Python)

문제 링크 https://www.acmicpc.net/problem/10775 10775번: 공항 예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불 www.acmicpc.net Test Case 문제 풀이 union-find문제 인데 완벽하게 이해를 하고 풀지는 못했다. 내가 확실히 이해한 부분은 g_i를 입력받았을 때 최대한 도킹을 많이 하기 위해서는 해당 번호의 게이트로 도킹하는 것이 제일 최선의 방법이라는 점이다. 처음에 문제만 봐서는 union-find 문제인지 알기어렵지만 문제 조건을 보면 G, P의 범위가 매우크기 ..

Develop/algorithm 2021.08.11

리눅스 기본 디렉토리 구조

리눅스 디렉토리 혹은 파일 시스템 구조는 윈도우와는 다르다. 기본적으로 디렉토리를 구분하는 / 는 리눅스, \는 윈도우에서 사용하고 그 명칭도 디렉토리, 폴더라고 부른다 리눅스 파일 시스템 구조 리눅스 시스템의 디렉토리 구조는 역트리 구조이고 명령어의 종류와 성격, 사용권한 등에 따라 각각의 디렉토리로 구분된다. 리눅스 배포판들은 리눅스 파일 시스템 표준인 FSSTND(LINUX FILE System Standard)라는 표준을 따른다. /(루트) 최상의 디렉토리인 루트 디렉토리를 의미하며, 리눅스의 모든 디렉토리들의 시작점. 즉, 모든 디렉토리들을 절대경로로 표기할 때에 이 디렉토리로부터 시작 /bin 기본적인 명령어가 저장된 디렉토리 리눅스 시스템사용에 있어 가장 기본적이라고 할 수 있는 mv, cp..

Infra/linux 2021.08.07