[백준] 11403번 경로 찾기 [Python] - DFS, BFS, 플로이드–워셜
가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 $(i, j)$에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 문제 플로이드–워셜, dfs, bfs를 사용한 코드들을 작성해봤습니다. 더보기 문제 가중치 없는 방향 그래프 G가 주어졌을 때, 모든 정점 $(i, j)$에 대해서, i에서 j로 가는 길이가 양수인 경로가 있는지 없는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 정점의 개수 N $(1 ≤ N ≤ 100)$이 주어진다. 둘째 줄부터 N개 줄에는 그래프의 인접 행렬이 주어진다. i번째 줄의 j번째 숫자가 1인 경우에는 i에서 j로 가는 간선이 존재한다는 뜻이고, 0인 경우는 없다는 뜻이다. i번째 줄의 i번째 숫자는 항상 0이다. 출력 총 N개의 줄에 걸쳐서 문제..
[프로그래머스] Lv.1 문자열 내 마음대로 정렬하기 [Python] - 문자열
문자열로 구성된 리스트와 정수 n이 주어질 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬, n 번째 글자가 같은 경우 사전순 정렬하는 문제 더보기 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬합니다. 제한 조건 strings는 길이 1 이상, 50이하인 배열입니다. strings의 원소는 소문자 알파벳으로 이루어져 있습니다. strings의 원소는 길이 1 이상, 100이하인 문자열입니다. 모든 strings의 원소의 길이는 n보다 ..
[백준] 15656, 15657번 N과 M[7, 8] [Python] - 중복 순열, 중복 조합
백준 문제 사이트 N과 M[7] N과 M[8] N과 M[3], N과 M[4]에서는 1~N까지 자연수로 이루어진 길이가 M인 수열을 출력했다면, N과 M[7], N과 M[8]은 주어진 N개의 자연수로 이주어진 길이가 M인 수열을 출력하는 문제입니다. 주어진 자연수를 정렬하고, 속도를 높이기 위해 문자로 변환 후, 중복 순열, 중복 조합의 경우를 구하고 출력하는 코드입니다. product, combinations_with_replacement의 반환 값은 튜플 형태의 원소를 지니고 있어서, 튜블 내 원소를 ' '$($공백$)$으로 이어 붙인 후 join 매소드로 줄바꿈으로 문자를 이어 붙였습니다. N과 M[3], N과 M[4] 리뷰 https://savvy0402.tistory.com/6 https://sa..
[백준] 1009번 분산처리 [Python]
10대의 컴퓨터로 분산 처리를 진행한다. $a^b$개의 데이터를 처리할 때, 1번 데이터 > 1번 컴퓨터, 2번 데이터 > 2번 컴퓨터, ... , 10번 데이터 > 10번 컴퓨터, 11번 데이터 > 1번 컴퓨터, 12번 데이터 > 2번 컴퓨터, ... 위와 같은 방법으로 처리함 총 데이터 개수가 주어질 때, 마지막 데이터를 처리하는 컴퓨터 번호를 출력하는 문제 더보기 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는..