본문 바로가기
Algorithm/구현

[프로그래머스 lv 1] 순열 검사

by HANNI하니 2023. 6. 23.

사용 언어 - Python3

문제 - 순열 검사

 

프로그래머스

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

programmers.co.kr

 

 

 

정답

시간초과없이 순열 검사 (정답 맞춘 여부 O)

arr 오름차순 정렬후

각 위치에 있는 값이 i+1과 같지 않다면 False

아니라면 원래 값인 True return

# 시간 초과
def solution(arr):
    answer = []
    for i in range(1,max(arr)+1):
        if i in arr:
            answer.append(1)
        else:
            answer.append(0)
            
    if sum(answer) == max(arr):
        result = True
    else:
        result = False
    return result
# 정답
def solution(arr):
    answer = True
    
    arr.sort()
    for i in range(len(arr)):
        if (i+1 != arr[i]):
            answer = False
            return False
        
    return answer

 

 

레퍼런스

  • 정답 깃허브
 

GitHub - yyeongeun/codingtest: 코딩테스트 공부

코딩테스트 공부. Contribute to yyeongeun/codingtest development by creating an account on GitHub.

github.com

 

댓글