본문 바로가기

> 알고리즘 문제 풀이/BOJ51

*2110-공유기 설치 (python, 파이썬) - 어려운 문제였다. - 이진 탐색을 활용하는 문제였는데, 아직 이진 탐색을 구현하는 게 어색하고, 적용하는 방법도 어렵다. 문제를 제대로 소화하려면 반복 학습과 연습이 필요하겠다. import sys n, c = map(int, input().split()) arr = [] for _ in range(n): arr.append(int(sys.stdin.readline())) arr = sorted(arr) start = arr[1] - arr[0] end = arr[-1] - arr[0] result = 0 while start = value + mid: value = arr[i] count += 1 if count >= c: start = mid + 1 result = mid else: end = m.. 2020. 10. 15.
17389-보너스 점수 (python, 파이썬) n = int(input()) s = input() total, bonus = 0, 0 o, x = 'O', 'X' for i in range(n): if s[i] == o: total += (i+1) + bonus bonus += 1 else: bonus = 0 print(total) 2020. 10. 14.
17269-이름궁합 테스트 (python, 파이썬) 1번: 내가 작성한 코드 (큐 활용) import string alpha_list = list(string.ascii_uppercase) count_list = [3,2,1,2,4,3,1,3,1,1,3,1,3,2,1,2,2,2,1,2,1,1,1,2,2,1] alpha_count = dict() x = 0 for alpha in alpha_list: alpha_count[alpha] = count_list[x] x += 1 N, M = map(int, input().split()) A, B = map(str, input().split()) i, j = 0, 0 C = [] while i 2020. 10. 14.
10539-수빈이와 수열 (python, 파이썬) n = int(input()) array = list(map(int, input().split())) result = [] for x in range(n): result.append((x+1)*array[x]-sum(result[:x])) print(' '.join([str(n) for n in result])) - 데이터가 많아지면 append를 사용하지 않고, 리스트를 미리 만들어 인덱스별로 할당하는 게 낫다 2020. 10. 14.