코테(4)
-
[기본수학1] Fly me to the Alpha Centauri
1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 이동 거리의 변화는 +1 , 0 , -1 중에서 일어나고 맨 마지막 이동거리는 1이기 때문에, 작동시기별 최대 이동거리에 도달하기 위한 요소들이 생기게 된다. 최대 이동거리가 5라면 1 2 3 4 5 4 3 2 1 의 형태가 기본적으로 존재하게 된다는 뜻. 이 형태의 합을 구하면 n^2 이 된다. 전체 이동거리에서 n^2 로 나올 수 있는 형태를 빼고 나머지를 통해서 잔여 횟수를 더해주면 끝. 잔여 횟수는 0 또는 1..
2021.02.27 -
[기본수학1] 큰 수 A+B
10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 파이썬에서는 그냥 a+b를 바로 출력해도 정답처리가 되더라;; 어쨌든 의도는 그게 아닌 것 같아서 구현했다. 그냥 A+B 했을 때 72ms 정도 소요됐는데 직접 구현한 건 92ms라... 비슷하게 걸린 것 같은데 최적화하면? 제출 코드 a_input, b_input = list(map(str, input().split(" "))) a = list(a_input) b = list(b_input) len_max = max([len(a), len(b)]) len_min = min([len(a), len(b)]) len_diff = len_max - len_min if len_m..
2021.02.26 -
[기본수학1] 설탕 배달
2839번: 설탕 배달 상근이는 요즘 설탕공장에서 설탕을 배달하고 있다. 상근이는 지금 사탕가게에 설탕을 정확하게 N킬로그램을 배달해야 한다. 설탕공장에서 만드는 설탕은 봉지에 담겨져 있다. 봉지는 3킬로그 www.acmicpc.net 제출코드 from sys import stdin kg = int(stdin.readline()) def get_container_count(kg: int): total_max = kg // 3 # 나올 수 있는 토탈 최대값 total_min = kg // 5 # 나올 수 있는 토탈 최소값 if kg % 5 == 0: return total_min for i in range(0, total_max + 1): three_rest = (kg - (3 * i)) if three_..
2021.02.24 -
[기본수학1] 부녀회장이 될테야
2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 제목이 굉장히 귀여운 문제였다. 이렇게 사람이 많이 살고있는 아파트의 부녀회장이 되려면 쉽지 않을 것 같다. 예제를 바탕으로 몇 번 그려보면 규칙성을 쉽게 발견할 수 있었다. 재귀적으로 풀어봤다. 제출코드 from sys import stdin test_count = int(stdin.readline()) test_case = [] for i in range(0, test_count): case_k = int(stdin.readline()) case_n = int(stdin.readline()) tes..
2021.02.24