본문 바로가기

백준6

백준 2805 파이썬 https://www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 처음 구현한 방법 : 시간 초과가 날걸 알면서도 다른 방법이 생각나지 않아 일단 코드를 작성하고 제출했다. 예제 코드는 돌아가지만 제출을 하니 역시 시간초과가 발생했다. n, m = map(int, input().split()) h = list(map(int,input().split())) maxchecker = max(h) - 1 minchekcer = m.. 2023. 12. 21.
백준 10816 파이썬 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 코드 n = int(input()) Ncard = sorted(list(map(int,input().split()))) m = int(input()) Mcard = list(map(int,input().split())) dic_count = {} for card in Ncard: if card in dic_count: dic_count[card] += 1 else.. 2022. 5. 26.
백준 11758 CCW 파이썬 https://www.acmicpc.net/problem/11758 11758번: CCW 첫째 줄에 P1의 (x1, y1), 둘째 줄에 P2의 (x2, y2), 셋째 줄에 P3의 (x3, y3)가 주어진다. (-10,000 ≤ x1, y1, x2, y2, x3, y3 ≤ 10,000) 모든 좌표는 정수이다. P1, P2, P3의 좌표는 서로 다르다. www.acmicpc.net 코드 box = [] for _ in range(3): box.append(list(map(int,input().split()))) def ccw(p1,p2,p3): return (p1[0]*p2[1] + p2[0]*p3[1] + p3[0]*p1[1] - (p2[0]*p1[1] + p3[0]*p2[1] + p1[0]*p3[1])).. 2022. 5. 9.
백준 10845번 큐 (파이썬) https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 코드 from sys import stdin n = int(input()) q = [] for i in range(n): cmd = stdin.readline().split() if cmd[0] == 'push': q.append(cmd[1]) elif cmd[0] == 'pop': if len(q) == 0: print(-1) else: print(q[0]) del q[0] el.. 2022. 4. 23.
20210810#(77) 백준 1514번 잃어버린 괄호 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net ○ 느낀 점 split() 함수를 생각보다 모르고 있었다는 것을 알게 됨 ○ 풀이 alist=input().split('-') num=[] for i in alist: cnt=0 s=i.split('+') for j in s: cnt+=int(j) num.append(cnt) n=num[0] for i in range(1,len(num)): n-=num[i] print(n) # 55-50+4.. 2021. 8. 10.
20210705#(61) 백준 11047 동전 0 (그리디) https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 그리디 문제 잼있다 이렇게 풀면 효율이 떨어지는 것 같긴 한데 일단 풀어봤다. n,k=map(int,input().split()) coin_list=[] coin_count=0 for i in range(n): coin_list.append(int(input())) coin_list.sort(reverse=True) for i in .. 2021. 7. 5.