Algorithm/코드트리 블로그 챌린지
[코드트리 챌린지] 1주차 - 자리 수 단위로 완전탐색 / Carry 피하기 2
Bangii
2023. 9. 6. 22:45
자리 수 단위로 완전탐색 / Carry 피하기 2
https://www.codetree.ai/cote/17/problems/escaping-carry-2?&utm_source=clipboard&utm_medium=text
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석
국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.
www.codetree.ai
나의 답
import itertools
n = int(input())
numbers = [int(input()) for _ in range(n)]
max_number = -1
for n1,n2,n3 in itertools.combinations(numbers,3):
carry = False
for i in range(5):
s = n1/10**i % 10 + n2/10**i % 10 + n3/10**i % 10
if s >= 10:
carry = True
break
if not carry:
s = n1+n2+n3
max_number = s if s > max_number else max_number
print(max_number)
코드트리에서는 for문의 중첩을 통해 문제를 해결하였지만 파이썬에서는 itertools를 사용해 combinations를 쉽게 만들 수 있다.
오랜만에 코딩테스트를 공부하면서 내 실력이 한층 부족하다는 점을 느꼈고, 이번 1주차 동안 현대자동차 커리큘럼에 있는 완전탐색 알고리즘 중에 자리 수 단위로 완전탐색을 공부하였다.
해당 커리큘럼 문제를 다 풀어보고 난 뒤 실력진단을 했을 때 처음 했을 때보다 더 높은 점수를 얻을 수 있었고 기본적이 코딩테스트 감각을 올릴 수 있었다. 실력진단을 마친 뒤 코드트리에서 내가 부족한 부분에 대해 보충할 수 있는 커리큘럼을 제안하였는데 다음 주에는 해당 커리큘럼을 해볼 예정이다.