목록구현 (69)
홍우진의 개발 일기장
문제 링크https://www.acmicpc.net/problem/11557 풀이 코드t = int(input())for _ in range(t): n = int(input()) hak = [] for _ in range(n): s, l = map(str, input().split()) hak.append([s,int(l)]) print(sorted(hak, key = lambda x: x[1])[-1][0])t = int(input())코드 해석받은 이름과 양을 리스트에 저장하고정렬한 뒤 가장 높은 학교의 이름을 출력한다. 꾸준히 하고는 있지만 점점 쉬운 문제만 찾아 풀고 있어서 걱정이다...체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/2738 풀이 코드A, B = [], []N, M = map(int, input().split())for row in range(N): row = list(map(int, input().split())) A.append(row)for row in range(N): row = list(map(int, input().split())) B.append(row) for row in range(N): for col in range(M): print(A[row][col] + B[row][col], end=' ') print()코드 해석코드가 길지만 간단한 사칙연산 문제이다.체감 난이도: ☆☆☆☆☆
문제 링크https://www.acmicpc.net/problem/18111풀이 코드import sysn, m, b = map(int, input().split())graph = [list(map(int, input().split())) for _ in range(n)]idx = 0dap = sys.maxsizefor floor in range(257): maxb, minb = 0, 0 for i in range(n): for j in range(m): if graph[i][j] > floor: # 블록이 현재 층보다 높다면 maxb += graph[i][j] - floor else: # 아니라면 ..
문제 링크https://www.acmicpc.net/problem/11576풀이 코드a, b = map(int,input().split())m = int(input()) - 1n, ans = 0, []for i in map(int,input().split()): n += i * a ** m m -= 1 while n: ans.append(n % b) n //= bprint(*ans[::-1])코드 해석a진법을 10진법으로 변환 한 뒤 다시 b진법으로 변환한다. 체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/1337 풀이 코드n = int(input())li = [int(input()) for i in range(n)]cnt_li = []for i in range(n): cnt = 4 for j in li: if li[i] 코드 해석투 포인터 알고리즘을 활용하였다.리스트 속 수를 돌며수와 수+5 사이의 숫자가 리스트 내에 있다면cnt -1 을 하여 연속 수를 만드는데 필요한 숫자의 수를 줄여나갔다. 체감 난이도: ★★☆☆☆
문제 링크https://www.acmicpc.net/problem/2740 풀이 코드import sysinput = sys.stdin.readlinen, m = map(int,input().split())a = [list(map(int,input().split())) for i in range(n)]m, k = map(int,input().split())b = [list(map(int,input().split())) for i in range(m)]for i in range(n): result = [] for j in range(k): x = 0 for l in range(m): x += a[i][l] * b[l][j] result.ap..
문제 링크https://www.acmicpc.net/problem/4659풀이 코드while True: password = input() if password == 'end': break mopo = 'aeiou' acceptable = True if not any(x in password for x in mopo): # 모음 하나 포함 acceptable = False mo, ja = 0, 0 for i in password: if i in mopo: mo += 1 ja = 0 else: mo = 0 ja..
문제 링크https://www.acmicpc.net/problem/10431풀이 코드p = int(input())for _ in range(p): ki = list(map(int,input().split())) tot = 0 for i in range(1,len(ki)-1): for j in range(i+1,len(ki)): if ki[i] > ki[j]: ki[i],ki[j] = ki[j],ki[i] tot += 1 print(ki[0], tot) 코드 해석더블 정렬을 이용하여 풀었다.https://wikidocs.net/233706 체감 난이도: ★★☆☆☆ 5-01. Sort : Bubble..