광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 티스토리챌린지
  • 알고리즘
  • 합주
  • 오블완
  • 개념
  • 파이썬
  • 구현
  • 백준
  • 컴퓨터 사이언스
  • 애플워치 앱
  • DP
  • BOJ
  • 운영체제
  • 프로그래머스
  • 드린이
  • 애플워치 앱 만들기
  • 자바
  • OS
  • 다이나믹 프로그래밍
  • BFS

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Python/파이썬 프로그래머스] 불량 사용자

2021. 4. 29. 18:02
반응형

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

 

코딩테스트 연습 - 불량 사용자

개발팀 내에서 이벤트 개발을 담당하고 있는 "무지"는 최근 진행된 카카오이모티콘 이벤트에 비정상적인 방법으로 당첨을 시도한 응모자들을 발견하였습니다. 이런 응모자들을 따로 모아 불량

programmers.co.kr

풀이

오랜시간 풀 수 있을거같다가 실패한 문제.

 

내가 푼 방식

리스트를 하나 만들어서 banned_id index별로 될수있는 값을 리스트에 전부 넣어줬는데

그렇게 되면 [

[frodo,fradi],[frodo,crodo],[abc123,frodoc],[abc123,frodoc]]

이렇게 만들어지는데 조건 어떻게 구현해야할지 몰라서 실패

 

결국 답보고 이해한 결과

순열을 써서 전부다 비교해주는 방식이고 마지막 중복 걸러주려고 set형으로 넣어주는거

 

for 문에 바로 permutations 저렇게 쓰는거 처음 암

외우기!!!

from itertools import permutations
user_id=["frodo", "fradi", "crodo", "abc123", "frodoc"]	
banned_id=["fr*d*", "*rodo", "******", "******"]
answer=[]

def isMatch(com_set,banned_id):
    for i in range(len(com_set)):
        if len(com_set[i])!=len(banned_id[i]):
            return False
        
        for j in range(len(com_set[i])):
            if banned_id[i][j]=='*':
                continue
            if com_set[i][j]!=banned_id[i][j]:
                return False
    return True



for com_set in permutations(user_id,len(banned_id)):
    if isMatch(com_set,banned_id):
        com_set=set(com_set)
        if com_set not in answer:
            answer.append(com_set)

print(len(answer))
반응형
저작자표시 (새창열림)

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[Python/파이썬 프로그래머스] 호텔 방 배정  (0) 2021.05.04
[Python/파이썬 프로그래머스] 완주하지 못한 선수  (0) 2021.05.01
[Python/파이썬 프로그래머스] 튜플  (0) 2021.04.29
[Python/파이썬 11057 백준] 오르막 수 (다이나믹 프로그래밍)  (0) 2021.04.16
[Python/파이썬 백준 13913] 숨바꼭질 4 (BFS)  (0) 2021.04.15
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [Python/파이썬 프로그래머스] 호텔 방 배정
    • [Python/파이썬 프로그래머스] 완주하지 못한 선수
    • [Python/파이썬 프로그래머스] 튜플
    • [Python/파이썬 11057 백준] 오르막 수 (다이나믹 프로그래밍)
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바