반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
05-19 04:57
관리 메뉴

ImJay

[파이썬/Python] 프로그래머스 176963번 추억 점수 본문

Programmers

[파이썬/Python] 프로그래머스 176963번 추억 점수

ImJay 2023. 9. 25. 16:41
반응형

[파이썬/Python] 프로그래머스 176963번 추억 점수

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


문제

제한 사항

입출력 예

입출력 예 설명

풀이

def solution(name, yearning, photo):
    answer = []
    for p in photo:
        score = 0
        for person in p:
            if person in name:
                score += yearning[name.index(person)]
        answer.append(score)
    return answer

코드 설명

  1. 빈 리스트 answer를 초기화합니다. 이 리스트는 각 사진별로 추억 점수를 저장할 목적으로 사용됩니다.
  2. for p in photo:를 사용하여 주어진 photo 리스트를 반복합니다. 각 반복에서 현재 사진(p)에 대한 처리를 진행합니다.
  3. score 변수를 초기화합니다. 이 변수는 현재 사진의 추억 점수를 저장하는 데 사용됩니다.
  4. for person in p:를 사용하여 현재 사진(p)에 있는 각 인물(person)에 대한 처리를 진행합니다.
  5. person이 name 리스트에 포함되어 있다면, 그리움 점수를 가져와서 현재 score에 더합니다. name.index(person)를 사용하여 person이 name 리스트에서 몇 번째 원소인지를 찾고, 해당 인덱스를 사용하여 그리움 점수를 가져옵니다.
  6. 현재 사진(p)에 대한 추억 점수를 계산한 후, answer 리스트에 추가합니다.
  7. 모든 사진에 대한 처리가 끝나면 answer 리스트를 반환합니다.

시간복잡도

사진의 개수가 N이고, 각 사진에 찍힌 인물의 수가 M이라면, 이 코드의 시간 복잡도는 O(N * M)입니다. 왜냐하면 각 사진마다 인물을 확인하고, 그리움 점수를 가져오기 때문입니다. 이것은 주어진 입력 범위에서 효율적으로 처리됩니다.
주어진 입력 제한에 따르면 최대 사진의 개수와 각 사진에 찍힌 인물의 수가 모두 100 이하로 제한되어 있으므로, 코드의 실행 시간은 매우 빠를 것으로 예상됩니다.

반응형
Comments