반응형
내일 프로그래머스에서 쏘카 개발자 채용 코딩테스트를 봐야해서
공부하고 있다.
근데 level 1은 생각보다 쉬운 것 같다.
어려운 알고리즘은 아닌 것 같고
일반적으로 생각할 수 있는 방법으로 잘 풀린다.
def solution(answers):
supo1 = 0
supo2 = 0
supo3 = 0
# 1번 수포자의 변수
supo1_arr = [1,2,3,4,5]
# 2번 수포자의 변수
supo2_arr = [2,1,2,3,2,4,2,5]
# 3번 수포자의 변수
supo3_arr = [3,3,1,1,2,2,4,4,5,5]
for i in range(len(answers)):
# 1번 수포자의 채점
if answers[i] == supo1_arr[i%5]:
supo1 += 1
# 2번 수포자의 채점
if answers[i] == supo2_arr[i%8]:
supo2 += 1
# 3번 수포자의 채점
if answers[i] == supo3_arr[i%10]:
supo3 += 1
# dict()으로 정렬해서 가장 큰 점수 가져오기
max_value = {}
max_value[1] = supo1
max_value[2] = supo2
max_value[3] = supo3
# 정렬
max_value = sorted(max_value.items(), key=f1, reverse=True)
max_num = max_value[0][1]
# 가장 큰 값과 값이 비슷하면 result 배열에 넣어줌
result = []
for i,v in max_value:
if v == max_num:
result.append(i)
# result 반환
return result
def f1(x):
return x[1]
아래 사이트를 들어가면
어느정도 로직은 비슷한데,
다양한 python 내장 함수를 사용해서 훨씬 간결하게 짠 코드들이 많다.
열심히 노력해야겠다
https://programmers.co.kr/learn/courses/30/lessons/42840/solution_groups?language=python3
P.S 혹시 코딩테스트를 대비하고 공부하고 싶으신 분들을 위해 강의를 올리고 있습니다.(많은 참여 부탁드립니다~~)
https://www.youtube.com/channel/UCYYao-BSPaetw7N2GFFJ-Yw?view_as=subscriber
반응형
'프로그래머스' 카테고리의 다른 글
프로그래머스 - '스킬트리' 문제풀이 (0) | 2020.08.26 |
---|---|
프로그래머스 - 'K번째수' 문제풀이 (0) | 2020.08.26 |
프로그래머스 - 완주하지 못한 선수 문제풀이 (0) | 2020.08.22 |
프로그래머스 - 최댓값 구하기 문제 (4) | 2020.05.26 |
프로그래머스 "크레인 인형뽑기 게임" 문제풀이 - Henry's Algorithm (0) | 2020.05.25 |