반응형 전체 글288 [BOJ][Python]14720번 풀이 https://www.acmicpc.net/problem/14720 14720번: 우유 축제 영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다. 입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다. 맨 처음에는 딸기우유를 한 팩 마신다. 딸기우유를 한 팩 마신 후 www.acmicpc.net n = int(input()) m = list(map(int, input().split())) state = 0 ans = 0 for i in m: if i == state: ans += 1 state += 1 if state == 3: state = 0 print(ans) 그렇게 어려운 문제는 아니구요. 다만 왜 그리디인지 잘은 모르겠네요. 문제 접근은 state라는 변수를 만들어서 현재 먹어야 하.. 2022. 6. 30. [BOJ][Python]1389번 풀이 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net from collections import deque import sys ssr = sys.stdin.readline def sol(p): visited[p] = True q=deque([]) q.append((p,0)) b_num=0 while q: a = q.popleft() b_num += a[1] for i in edges: if i[0] =.. 2022. 6. 29. [BOJ][Python]1051번 풀이 https://www.acmicpc.net/problem/1051 1051번: 숫자 정사각형 N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행 www.acmicpc.net 개인적으로 해당 문제의 설명이 너무 별로라고 생각해서 제 나름대로 이해가 쉽도록 좀 고쳐보겠습니다. 문제: 1x1 크기의 칸이 세로N개, 가로M개의 형태로 나열되어 하나의 직사각형을 이루고 있으며, 각 칸에는 한 자리 숫자가 적혀 있다. 어떤 정사각형의 꼭짓점이 NxM 직사각형 내부의 숫자가 적혀있는 칸 위에 위치한다고 가정할 때, 꼭짓점이 위치한 칸에 쓰여 있는 수가 모두 같고 넓이가 가장 큰 .. 2022. 6. 29. [BOJ][Python]1120번 풀이 https://www.acmicpc.net/problem/1120 1120번: 문자열 길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의 www.acmicpc.net a,b = input().split() ans = 50 for i in range(len(b)-len(a)+1): tmp = 0 for j in range(len(a)): if a[j] != b[i+j]: tmp += 1 if tmp < ans: ans = tmp print(ans) 크게 어려운 문제는 아니지만 구현 문제 특성상 길을 잘못 잡으면 시간 지체가.. 2022. 6. 28. [BOJ][Python]1780번 풀이 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net import sys ssr = sys.stdin.readline def sol(r,c,l): tmp = p[r][c] for i in range(r,r+l): for j in range(c,c+l): if tmp != p[i][j]: le = l//3 for k in range(3): for h in range(3): sol(r+k*le,c+h*le,le) return if tmp ==.. 2022. 6. 28. [BOJ][Python]1541번 풀이 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net s = input() check = 1 num = '' ans = [] for i in s: if i == '-': ans.append(check*int(num)) num='' check = -1 elif i == '+': ans.append(check*int(num)) num='' else: num += i ans.append(check*int(num)) # print(ans) print(.. 2022. 6. 27. [BOJ][Python]2720번 풀이 https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net t = int(input()) d = [25,10,5,1] for _ in range(t): c = int(input()) ans = [] for i in d: ans.append(c//i) c %= i print(*ans) solved.ac 사이트에서 개인 정보를 확인하면 어떤 알고리즘의 문제를 많이 풀었는지 그래프로 나타내주는 기능이 있는데요. 그리디를 하나도 안 푼 수준으로 안풀었더군요. 그래서 그런가 실버 상위권 그리디 문제가 나오면 자주 막히는 것 같아서 예.. 2022. 6. 27. [BOJ][Python]11727번 풀이 https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net t = [0 for _ in range(1001)] t[1] = 1 t[2] = 3 for i in range(3,1001): t[i] = t[i-1] + 2*t[i-2] print(t[int(input())]%10007) 위 문제와 비슷한 문제는 이제 너무 많이 풀어봤죠? 몇 개 정도 손으로 써본 다음에 규칙만 찾으면 됩니다. 다만 그 규칙을 발견하는게 시간이 천차만별로 걸린다는 점이죠. 처음에 어떻게 될 것이다 하고 세운 .. 2022. 6. 26. [BOJ][Python]11659번 풀이 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net import sys ssr = sys.stdin.readline n,m = map(int, ssr().split()) num = [0] + list(map(int, ssr().split())) t = [0 for _ in range(n+1)] for i in range(1,n+1): t[i] = t[i-1] + num[i] for _ in range(m): a,b = map.. 2022. 6. 25. [BOJ][Python]7662번 풀이 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net import heapq import sys ssr = sys.stdin.readline t = int(ssr()) for _ in range(t): minh, maxh = [], [] k = int(ssr()) visited = [False for _ in range(k)] for i in range(k): c = ssr().split() if c[0] == 'I': heapq.heappush.. 2022. 6. 24. 이전 1 ··· 13 14 15 16 17 18 19 ··· 29 다음 반응형