알고리즘/SWEA 26

[Python] SWEA D3 1208번 - [S/W 문제해결 기본] 1일차 Flatten

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com for t in range(1, 11): dump = int(input()) box = list(map(int, input().split())) box.sort() for _ in range(dump): box[-1] -= 1 box[0] += 1 box.sort() ans = box[len(box) - 1] - box[0] print('#%d %d' % (t, ans)) - dump 횟수 동안 입력된 높이의 최대값을 하나 줄이는 대신 최소값을 하나 더해주어야 합니다. - 그래서 sort를 통해 box를 오름차순으로 정렬한 후 마지막 값 - 1, 처음 값 + 1의..

알고리즘/SWEA 2022.08.21

[Python] SWEA D3 1209번 - [S/W 문제해결 기본] 2일차 Sum

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com for t in range(1, 11): n = int(input()) data = [list(map(int, input().split())) for _ in range(100)] d_sum = [] # 행 for i in range(100): tmp = 0 for j in range(100): tmp += data[i][j] d_sum.append(tmp) # 열 for i in range(100): tmp = 0 for j in range(100): tmp += data[j][i] d_sum.append(tmp) tmp = 0 # 좌 -> 우 대각선 for i..

알고리즘/SWEA 2022.08.21

[Python] SWEA D3 1206번 - [S/W 문제해결 기본] 1일차 View

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com for t in range(1, 11): n = int(input()) tower = list(map(int, input().split())) tot = 0 for i in range(2, n - 2): chk = [] for j in range(i - 2, i + 3, 1): chk.append(tower[j]) if max(chk) == tower[i]: chk.sort() tot += tower[i] - chk[3] print('#%d %d' % (t, tot)) - A라는 건물이 있다고 가정했을 때, A 건물 양 옆으로 2칸에 위치한 건물의 높이가 A보다 ..

알고리즘/SWEA 2022.08.21

[Python] SWEA D2 1859번 - 백만 장자 프로젝트

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) for t in range(1, T + 1): n = int(input()) price = list(map(int, input().split())) tot = 0 big = 0 for i in range(n-1, -1, -1): if price[i] > big: big = price[i] else: tot += big - price[i] print('#%d %d' % (t, tot)) - 뒤에서부터 큰 값을 저장해두고 앞쪽으로 탐색합니다. - 탐색 과정에서 저장한 값보다 큰 수가 나타나면 그 수를 새로운 큰 값으로 저장하고, 작은 수..

알고리즘/SWEA 2022.08.21

[Python] SWEA D2 1204번 - [S/W 문제해결 기본] 1일차 최빈수 구하기

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) for t in range(1, T + 1): n = int(input()) q_lst = list(map(int, input().split())) m_idx = 0 for i in range(101): if q_lst.count(i) >= q_lst.count(m_idx): m_idx = i print('#%d %d' % (t, m_idx)) - count 함수를 이용하면 쉽게 풀리는 문제였습니다. - 0부터 100까지 순차적으로 움직이며 최대 빈도의 숫자를 찾아야 하는데요. - 오름차순으로 탐색하기 때문에 최대값이 같은 경우에는 ..

알고리즘/SWEA 2022.08.21

[Python] SWEA D2 1966번 - 숫자를 정렬하자

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) for t in range(1, T + 1): data = list(map(int, input().split())) data.sort() ans = 0 for i in range(1, 9): ans += data[i] print('#%d %d' % (t, round(ans/8, 0))) - 최대값과 최소값을 제외한 나머지 수들의 평균값을 구하는 문제입니다. - sort로 오른차순 정렬해준 후 맨 앞과 맨 뒤의 값을 제외한 나머지 값을 더한 후 평균을 구할 수 있습니다. - 출력 조건에 맞춰 소수점 첫째자리에서 반올림할 수 있도록 ro..

알고리즘/SWEA 2022.08.21

[Python] SWEA D2 1946번 - 간단한 압축 풀기

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) for t in range(1, T + 1): n = int(input()) word = '' for _ in range(n): ci, ki = input().split() word += ci * int(ki) print('#%d' % t) if len(word) < 10: print(word) else: for i in range(len(word) // 10): print(word[i * 10:(i + 1) * 10]) if len(word) % 10: print(word[(i + 1) * 10:]) - 문제에서 제시한대로 입력을 ..

알고리즘/SWEA 2022.08.21

[Python] SWEA D2 1983번 - 조교의 성적 매기기

SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com T = int(input()) grade = ['A+', 'A0', 'A-', 'B+', 'B0', 'B-', 'C+', 'C0', 'C-', 'D0'] for t in range(1, T + 1): n, k = map(int, input().split()) score = [list(map(int, input().split())) for _ in range(n)] data = [] for s in score: data.append(s[0] * 0.35 + s[1] * 0.45 + s[2] * 0.2) k_score = data[k - 1] data.sort(rev..

알고리즘/SWEA 2022.08.21