99클럽 코테 스터디 23일차 TIL: Python Itertools

2024. 11. 19. 17:51·일기장/항해99클럽 4기

오늘의 문제 | 프로그래머스: 소수 찾기

우선 소수 관련 문제이므로 소수 체크하는 함수가 필요하다. 또한 순서 상관없이 문자열을 만들어야 하므로 이번에도 itertools를 이용해야 하지 않을까하는 생각이 든다.

아이디어: 길이 별로 permutations를 돌려서 모든 경우의 수를 만들어내자

하지만 이 아이디어의 치명적인 문제는, 모든 문자열 기준으로 돌릴 경우 이미 검사한 숫자도 나올 수 있다는 것이다. 그래서 visit 배열을 따로 선언하여 답으로 나오지 않은 숫자만 확인했다.

from itertools import permutations

def isPrime(number):
    if number<=1: return False
    for i in range(2,int(number**(1/2))+1):
        if number%i==0: return False
    return True

def solution(numbers):
    answer = 0
    visit=[True for i in range(1_000_000)]
    
    for i in range(1,len(numbers)+1):
        numList = permutations(numbers,i)
        for num in numList:
            numInt=int("".join(num))
            if isPrime(numInt) and visit[numInt]:
                answer+=1
                visit[numInt]=False
    return answer

오늘의 회고

오늘 문제도 초반에 약간 힘들었다. 어떻게 완전 탐색을 돌려야 시간 초과 안나면서 중복없이 확인할 수 있을까라는 아이디어를 떠올리는게 쉽지 않았다. 하지만 결국은 permutations을 써야 하는 문제였기에 큰 무리없이 해결할 수 있었다고 생각한다. 뭔가 itertools를 잘쓰는게 중요하다는 생각이 요새 들고 있다.

'일기장 > 항해99클럽 4기' 카테고리의 다른 글

99클럽 코테 스터디 25일차 TIL: 골드 완전 탐색  (0) 2024.11.22
99클럽 코테 스터디 24일차 TIL: 완전 탐색 그래프 탐색  (0) 2024.11.21
99클럽 코테 스터디 22일차 TIL: 기본 완전 탐색  (0) 2024.11.18
99클럽 코테 스터디 21일차 TIL: 완전 탐색 기초  (0) 2024.11.17
99클럽 코테 스터디 20일차 TIL: 단순 브루트포스  (0) 2024.11.16
'일기장/항해99클럽 4기' 카테고리의 다른 글
  • 99클럽 코테 스터디 25일차 TIL: 골드 완전 탐색
  • 99클럽 코테 스터디 24일차 TIL: 완전 탐색 그래프 탐색
  • 99클럽 코테 스터디 22일차 TIL: 기본 완전 탐색
  • 99클럽 코테 스터디 21일차 TIL: 완전 탐색 기초
미역굳
미역굳
.
  • 미역굳
    BE THE DEVELOPER
    미역굳
  • 전체
    오늘
    어제
    • TOTAL (60)
      • 안내 데스크 (1)
      • Google 공간 (3)
        • 프로젝트 트랙 1기 (3)
      • 자유공간 (9)
        • 임시학습실 (2)
        • 중앙 회의실 (5)
        • 알고리즘 연구실 (2)
      • 일기장 (47)
        • 우아한테크코스 7기 (12)
        • 항해99클럽 4기 (35)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    리뷰어
    소수점 출력
    백준 문제 출제
    파이썬
    수행 시간
    코드잇 Python 풀스택 개발자
    solved.ac
    우아한테크코스
    백준 1000문제
    우테코
    fixed
    7기
    timeval
    개발자
    cout.precision
    백준 스트릭
    코드잇 강의
    코딩테스트준비
    항해99
    스트릭
    백준
    개발자취업
    코드잇
    99클럽
    티스토리챌린지
    프리코스
    Til
    길벗
    오블완
    코드잇 JavaScript 프론트엔드 개발자
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
미역굳
99클럽 코테 스터디 23일차 TIL: Python Itertools
상단으로

티스토리툴바