[HackerRank] ACM ICPC Team

Jongmin Lee (SAVZAK)·2021년 7월 14일
0

HackerRank

목록 보기
36/39

[문제 링크]

[입력]

string topic: 이진법으로 표현한 문자열의 배열

[출력]

int[2]: 가장 많은 TOPIC 의 개수와 가장 많은 개수를 만족하는 조합의 개수

[해결 시나리오]

  1. 배열의 두 원소를 정수화 하여 더한 값을 봤을때 , 각 자릿수가 0 이 아니라면 최소한 한쪽은 맞춘것 이므로 count 에 1을 더한다.
    2-1. 만약 count 의 값이 기존의 최고 개수보다 많다면 최고 개수를 count 로 하고 조합 개수를 1로 초기화 한다.
    2-2. 만약 count 의 값이 기존의 최고 개수와 같다면 조합 개수를 1 증가한다.

[코드]

def acmTeam(topic):
    # Write your code here
    result = [0,0] 
    for i in range(len(topic)-1):
        for j in range(i+1 , len(topic)):
            sum_pair = str(int(topic[i])+int(topic[j]))
            count = sum_pair.count('1')+sum_pair.count('2')
            if count > result[0]:
                result[0] = count
                result[1] = 1
            elif count == result[0]:
                result[1]+=1

    return result
profile
느리지만 단단하게 걷는 개발자

0개의 댓글