항해99_알고리즘 연습 중계
-
백준 2805번 나무 자르기 [파이썬]항해99_알고리즘 연습 중계 2021. 3. 15. 01:18
www.acmicpc.net/problem/2805 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 이 문제는 원하는 나무길이만큼만 베기 위한 베어내는 최대 높이를 설정하는 문제로, 이진탐색법을 이용하면 풀 수 있다. 내 접근법도 이진탐색법이지만, 베어내는 나무길이와 높이가 있는 2차원 리스트를 만들기까지 하는 아주 복잡한 식으로 구현했다. 그래서 아래와 같이 내 코드는 길고 복잡하다. N, M = map(int, input().split()) # N = total nu..
-
백준 1011번 Fly me to the Alpha Centauri [파이썬]항해99_알고리즘 연습 중계 2021. 3. 15. 01:01
www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 이 문제를 풀기 위해서 보통은 거리만큼 스텝의 횟수를 적어서 패턴을 찾으려고 한다. 거리 이동 패턴 횟수 1 1 1 2 1 1 2 3 1 1 1 3 4 1 2 1 3 5 1 2 1 1, 1 1 2 1 4 6 1 2 2 1 4 .... .... ..... 이렇게 패턴 찾아서 코드를 짠다. 하지만 이번 알고리즘 주차에서 만난 분의 풀이는 다음과 같았다. import sy..
-
백준 1157번 : 단어공부 [파이썬]항해99_알고리즘 연습 중계 2021. 3. 7. 19:35
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 간단해 보였는데, 무려 밤을 새게 한 문제. 그래도 쪼렙이 끙끙대고 오래 생각하고 시도해보고 결국 해결해 나는 쾌감에다가 list의 메소드들을 확실하게 익혔다는 점에서 대-만족! 1. 내가 짠 코드 def find_alphabet_occurrence_array(string): alphabet_occurrence_array = [0] * 26 string = string.upper() print(string) for char in ..
-
백준 4344 코드 : 평균은 넘겠지 [파이썬]항해99_알고리즘 연습 중계 2021. 3. 6. 16:18
www.acmicpc.net/problem/4344 num_class = int(input()) for i in range(num_class): class_grade = list(map(int, input().split(' '))) avg = sum(class_grade[1:])/class_grade[0] count = 0 for score in class_grade[1:]: if score > avg: count += 1 ratio_over_avg = (count/(len(class_grade)-1))*100 print(str('%.3f' %ratio_over_avg) + "%") 평균은 넘겠다는 오만을 팩트로 폭격해서 무너뜨리는 코드. 문제를 잘못 읽어서 첫줄에 입력하는 값이 횟수라는걸 몰라서 무시하..