오늘은 쉽게 풀 수 있었던 문제였습니다.
이전 코드 내용이 궁금하시다면 아래 링크로 이동하시면 됩니다!
코딜리티 이전 글 - 2020/08/18 - [데이터 분석/파이썬] - [Codility] 코딜리티 6-3. NumberOfDiscIntersections (Python)
[Codility] 코딜리티 6-3. NumberOfDiscIntersections (Python)
안녕하세요! 이번 문제는 제 힘으로 100%를 만들지 못했습니다. 시간 복잡도를 줄이는 것이 너무 어렵네요. 100점짜리 알고리즘은 출처도 같이 올려드리겠습니다. 이전 코드 내용이 궁금하시다면
sooho-kim.tistory.com
1. 문제 설명
- A에는 변의 길이를 나타내는 값이 들어 있습니다. 인덱스 3개의 값을 골라서 삼각형을 만들 수 있으면 1, 없으면 0을 출력하는 문제입니다.
- 삼각형이 만들어지기 위해서는 각 변이 다른 두 변의 합보다 작아야 합니다.
2. 풀이 (시간 복잡도 N*log(N))
- idea : 결과를 0으로 이미 넣어놓고, if문을 만족하는 것이 있으면 1로 대체해서 출력하도록 했습니다.
- Task score : 100, Correctness : 100, Performance : 100
def solution(A):
A.sort() # A를 오름차순으로 정렬
result = 0 # 삼각형을 만드는 것이 없다고 가정
for i in range(len(A)-2): # 인접한 3개의 값이 삼각형을 이루는 지 확인
if A[i]+A[i+1] > A[i+2]:
if A[i]+A[i+2]> A[i+1]:
if A[i+1]+A[i+2] > A[i+1]:
result = 1 # 삼각형이 있으면 0을 1로 변환
return result
오늘은 쉽게 풀 수 있었던 문제였습니다.
이전 코드 내용이 궁금하시다면 아래 링크로 이동하시면 됩니다!
코딜리티 이전 글 - 2020/08/18 - [데이터 분석/파이썬] - [Codility] 코딜리티 6-3. NumberOfDiscIntersections (Python)
[Codility] 코딜리티 6-3. NumberOfDiscIntersections (Python)
안녕하세요! 이번 문제는 제 힘으로 100%를 만들지 못했습니다. 시간 복잡도를 줄이는 것이 너무 어렵네요. 100점짜리 알고리즘은 출처도 같이 올려드리겠습니다. 이전 코드 내용이 궁금하시다면
sooho-kim.tistory.com
1. 문제 설명
- A에는 변의 길이를 나타내는 값이 들어 있습니다. 인덱스 3개의 값을 골라서 삼각형을 만들 수 있으면 1, 없으면 0을 출력하는 문제입니다.
- 삼각형이 만들어지기 위해서는 각 변이 다른 두 변의 합보다 작아야 합니다.
2. 풀이 (시간 복잡도 N*log(N))
- idea : 결과를 0으로 이미 넣어놓고, if문을 만족하는 것이 있으면 1로 대체해서 출력하도록 했습니다.
- Task score : 100, Correctness : 100, Performance : 100
def solution(A):
A.sort() # A를 오름차순으로 정렬
result = 0 # 삼각형을 만드는 것이 없다고 가정
for i in range(len(A)-2): # 인접한 3개의 값이 삼각형을 이루는 지 확인
if A[i]+A[i+1] > A[i+2]:
if A[i]+A[i+2]> A[i+1]:
if A[i+1]+A[i+2] > A[i+1]:
result = 1 # 삼각형이 있으면 0을 1로 변환
return result