반응형
파이썬으로 코딜리티 챌린지를 도전해봤다.
해당 챌린지가 종료되면 풀이를 올려보겠다.
챌린지가 종료되어 코드를 올려보겠다.
문제는 아래에 있다.
https://app.codility.com/cert/view/cert7CAQA7-RVJBNWEEK67SVFHW/
풀이 코드는 아래와 같이 구현할 수 있다.
# you can write to stdout for debugging purposes, e.g.
# print("this is a debug message")
def rotate(s, num):
return s[num:]+s[:num]
def ispretty(s1, s2):
return True if s1[1] == s2[3] else False
def solution(A):
answer=[]
initA = A[0]
for r in range(4):
cnt=0
B=A[:]
B[0] = rotate(initA, r)
if r==3:
cnt+=1
else:
cnt+=r
for i in range(len(B)-1):
if ispretty(B[i], B[i+1]):
continue
else:
for j in range(3):
if ispretty(B[i], rotate(B[i+1],j+1)):
B[i+1] = rotate(B[i+1],j+1)
if j==2:
cnt+=1
else:
cnt+=j+1
break
answer.append(cnt)
return min(answer)
약간 DP 문제 스럽게 접근해서 첫번째를 하나씩 돌리며 계산을 하도록 구현했다.
반응형
'Coding Test > Python' 카테고리의 다른 글
[프로그래머스] 과제 진행하기 Python 풀이 (0) | 2023.04.06 |
---|---|
[프로그래머스] 연속 펄스 부분 수열의 합 Python 풀이 (0) | 2023.03.24 |
[프로그래머스] 혼자서 하는 틱택토 Python 풀이 (6) | 2023.03.09 |
[프로그래머스] 대충 만든 자판 Python 풀이 (0) | 2023.03.09 |
[Codility Challenge] Year of the Rabbit Python (코드 업데이트) (0) | 2023.02.02 |
댓글