야챔
월월왈왈
야챔
전체 방문자
오늘
어제
  • 전체보기
    • Java
    • Python
    • JavaScript
    • C#
    • MySQL
    • Docker
    • 알고리즘
      • 백준
      • 프로그래머스
    • 기타
      • Review
      • RP
      • -----

블로그 메뉴

  • 홈
  • 태그
  • 방명록

인기 글

티스토리

hELLO · Designed By 정상우.
야챔

월월왈왈

알고리즘/프로그래머스

[Level1]완주하지 못한 선수

2021. 4. 5. 17:11

programmers.co.kr/learn/courses/30/lessons/42576

 

 

1. 

participant = 	["mislav", "stanko", "mislav", "ana"]
completion = ["stanko", "ana", "mislav"]

def solution(participant, completion):
    for i in participant:
        if i not in completion:
            print(i)
            return i
        else:
            completion.remove(i)

답은 맞지만 효율성테스트에서 시간초과 떠버림

 

리스트 삭제는 n이란다.. 

 

 

 

2. 

import collections

def solution(participant, completion):

    answer=collections.Counter(participant)-collections.Counter(completion)

    return list(answer)[0]

찾아보니 collections 라는 모듈이 있다.

collections.Counter() 를 사용하였다. Counter는 해시 가능한  객체를 세는데 사용하는 딕셔너리 서브 클레스이다.

 

list가 participant = ["mislav", "stanko", "mislav", "ana"] 있다고 할 때

collections.Counter(participant)를 하면 Counter({'mislav': 2, 'stanko': 1, 'ana': 1}) 가 된다.

 

다른 completion = ["stanko", "ana", "mislav"] 로 collections.Counter(completion)를 하면

Counter({'mislav': 1, 'stanko': 1, 'ana': 1}) 이 되는데 이 둘을 빼주면 Counter({'mislav': 1}) 가 된다.

 

mislav 라는 값만 나타내기 위해 list() 로 만들어 주었고 [0]을하여 mislav만 출력되게 하였다.

저작자표시 (새창열림)

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Level1] 두 개 뽑아서 더하기  (0) 2021.04.06
[Level1] 크레인 인형뽑기 게임  (0) 2021.04.05
[Level1]K번째 수  (0) 2021.03.31
[Level1] 2016년  (0) 2021.03.31
[Level1] 가운데 글자 가져오기[Level1] 가운데 글자 가져오기  (0) 2021.03.31
    '알고리즘/프로그래머스' 카테고리의 다른 글
    • [Level1] 두 개 뽑아서 더하기
    • [Level1] 크레인 인형뽑기 게임
    • [Level1]K번째 수
    • [Level1] 2016년
    야챔
    야챔

    티스토리툴바