5249. 최소 신장 트리
·
Algorithm/SW Expert Academy Review
문제 그래프에서 사이클을 제거하고 모든 노드를 포함하는 트리를 구성할 때, 가중치의 합이 최소가 되도록 만든 경우를 최소신장트리라고 한다. 0번부터 V번까지의 노드와 E개의 간선을 가진 그래프 정보가 주어질 때, 이 그래프로부터 최소신장트리를 구성하는 간선의 가중치를 모두 더해 출력하는 프로그램을 만드시오. [입력] 첫 줄에 테스트 케이스의 개수 T가 주어지고, 테스트 케이스 별로 첫 줄에 마지막 노드번호 V와 간선의 개수 E가 주어진다. 다음 줄부터 E개의 줄에 걸쳐 간선의 양 끝 노드 n1, n2, 가중치 w가 차례로 주어진다. 1
2607. 비슷한 단어
·
Algorithm/SW Expert Academy Review
https://www.acmicpc.net/problem/2607 2607번: 비슷한 단어 첫째 줄에는 단어의 개수가 주어지고 둘째 줄부터는 한 줄에 하나씩 단어가 주어진다. 모든 단어는 영문 알파벳 대문자로 이루어져 있다. 단어의 개수는 100개 이하이며, 각 단어의 길이는 10 이 www.acmicpc.net 이해 문자열 탐색을 통한 완전탐색 구현 문제 해당 단어를 탐색하여 개수를 센 후, 이를 비교해도 시간이 충분하다.(O(1,000,000)) 구현 각 단어별 구성하고 있는 단어와 그 개수를 저장할 dictionary 생성(편의를 위한 defaultdict 사용) 단어별 구성 단어와 개수를 저장 단어별 구성 단어 개수에서 기준 단어 구성 단어의 개수를 빼서 개수를 재구성(아래와 같이 표현) 해당 단..
13994. 새로운 버스 노선
·
Algorithm/SW Expert Academy Review
D2 Problem SW Expert Academy 새로운 버스 노선 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 1번부터 1000번까지 버스정류장이 정해져 있으므로 버스정류장 리스트를 만들어 운용하자 2. 일반, 급행, 광역 버스 별 조건이 나눠져있지만, 결과적으로 지나가는 곳을 체크한 후 최댓값을 구하면 된다. 3. 조건을 확인하자. - 일반버스: 모두 지나감 - 급행버스: 시작이 짝수/홀수 에 따라 짝수/홀수 번만 지나간다. - 광역버스: - 홀수: 3의 배수이면서 10배수가 아닌 곳 - 짝수: 4의 배수인 곳 - 단, 시작점과 끝점은 반드시 포함된다! 따라서 시작과 끝점 조건을 ..
4613. 러시아 국기 같은 깃발
·
Algorithm/SW Expert Academy Review
D4 problem SW Expert Academy 러시아 국기 같은 깃발 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 흰색, 파란색, 빨간색의 범위를 반드시 나눠야하며, 이 중 변경할 곳의 최솟값을 찾는다. 2. 범위를 완전탐색을 통해 하나씩 수정할 곳을 확인하여 이 중 최솟값을 찾는다. Code def color(i,j,N): # White 범위 = 0 ~ i # Blue 범위 = i+1 ~ j # Red 범위 = j+1 ~ N-1 white = blue = red = 0# 각각의 개수(하나로 묶어도 됌) # white for k in range(i+1): for l in range..
1210. [S/W 문제해결 기본] 2일차 - Ladder1
·
Algorithm/SW Expert Academy Review
D4 Problem SW Expert Academy Ladder1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 시작은 여러 곳일 수 있지만, 끝은 하나인 경우 끝부터 시작하면 편하다. 1. 시작 위치를 아래에서 찾는다. 2. 시작 위치를 기준으로 1을 따라서 간다. 3. 우선순위가 위보다 좌, 우에 있으므로 좌, 우부터 탐색한다. 4. 지나온 곳을 탐색할 수 없도록, 지나온 곳을 표시한다.(지워도 된다.) Code for test_case in range(1, 11): T = int(input()) # 인덱싱을 편하게 하기위한 0 패딩 ladder = [[0] + list(map(int, i..
1954. 달팽이 숫자
·
Algorithm/SW Expert Academy Review
D2 Problem SW Expert Academy 달팽이 숫자D2 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com Solution 1. 나아갈 수 있는 방향을 설정해준다.(진행방향 순으로) 2. 진행 방향으로 나아가는 중, 다음과 같은 조건일 때 방향을 바꾼다. - 입력이 이미 되어 있을 때 - 범위 바깥으로 나갔을 때 Code for test_case in range(1, int(input()) + 1 ): N = int(input()) arr = [[0] * N for _ in range(N)] di = [0, 1, 0, -1] dj = [1, 0, -1, 0] recent_i = recent_j = i ..