티스토리 뷰

코딩테스트

외벽 점검

ajaa 2024. 11. 29. 17:18

📌문제

https://school.programmers.co.kr/learn/courses/30/lessons/60062

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

📌풀이

원형으로 나열된 데이터를 처리하는 경우에는 문제 풀이 간단히 하기 위해 길이를 2배로 늘려서 원형을 일자 형태로 만듦

 

📌코드

def solution(n, weak, dist):
    #길이를 2배로 늘려서 원형을 일자 형태로 변형
    length=len(weak)
    for i in range(length):
        weak.append(n+weak[i])
    answer=len(dist)+1 #투입할 친구 수의 최솟값, 초기화
    #0부터 length-1까지의 위치를 각각 시작점으로 설정
    for start in range(length):
        #친구를 나열하는 모든 경우의 수 각각에 대해 확인
        for friends in list(permutations(dist, len(dist))):
            count=1 #투입할 친구 수
            #해당 친구가 점검하는 마지막 위치
            position=weak[start]+friends[count-1]
            #시작점부터 모든 취약 지점 확인
            for index in range(start, start+length):
                #점검할 수 있는 위치 벗어난 경우
                if position<weak[index]:
                    count+=1 #새로운 친구 투입
                    if count>len(dist): #더 투입 불가하다면 종료
                        break
                    position=weak[index]+friends[count-1]
                answer=min(answer, count) #최솟값 계산
            if answer>len(dist):
                return -1
            return answer

 

📌참고

https://g.co/kgs/eyd5SSd

 

이것이 취업을 위한 코딩 테스트다 with 파이썬

IT 취준생이라면 누구나 입사하고 싶은 카카오・삼성전자・네이버・라인!취업의 성공 열쇠는 알고리즘 인터뷰에 있다! IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년

www.google.com

 

 

'코딩테스트' 카테고리의 다른 글

연구소  (2) 2024.12.02
특정 거리의 도시 찾기  (0) 2024.12.01
  (2) 2024.11.28
자물쇠와 열쇠  (0) 2024.11.27
문자열 압축  (0) 2024.11.26
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
글 보관함