코딩/프로그래머스 lv1
모의고사
코딩 코딩 코오딩
2021. 4. 8. 00:52
https://programmers.co.kr/learn/courses/30/lessons/42840
코딩테스트 연습 - 모의고사
수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는
programmers.co.kr
이 문제는 너무 어려웠다... 허헣
그래서 다른 분들 풀이를 참고했다.
def solution(answers):
first = [1,2,3,4,5]
second = [2,1,2,3,2,4,2,5]
third = [3,3,1,1,2,2,4,4,5,5]
fc = sc = tc = 0
for i in range(len(answers)):
if first[i%(len(first))] == answers[i]: fc+=1
if second[i%(len(second))] == answers[i]: sc+=1
if third[i%(len(third))] == answers[i]: tc+=1
MAX = max(fc, sc, tc)
answer = []
if MAX == fc: answer.append(1)
if MAX == sc: answer.append(2)
if MAX == tc: answer.append(3)
return answer
프로그래머스 Lv1. 모의고사(python)
프로그래머스 Lv1. 모의고사(파이썬) https://programmers.co.kr/learn/courses/30/lessons/42840 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합.
calmlife.tistory.com
이건 enumerate함수를 사용 했다 함수는 기본적으로 인덱스와 원소로 이루어진 터플(tuple)을 만들어줍니다. 따라서 인덱스와 원소를 각각 다른 변수에 할당하고 싶다면 인자 풀기(unpacking)를 해줘야 합니다.
enumerate는 인덱스와 인자를 준다.
def solution(answers):
pattern1 = [1,2,3,4,5]
pattern2 = [2,1,2,3,2,4,2,5]
pattern3 = [3,3,1,1,2,2,4,4,5,5]
score = [0, 0, 0]
result = []
for idx, answer in enumerate(answers):
if answer == pattern1[idx%len(pattern1)]:
score[0] += 1
if answer == pattern2[idx%len(pattern2)]:
score[1] += 1
if answer == pattern3[idx%len(pattern3)]:
score[2] += 1
for idx, s in enumerate(score):
if s == max(score):
result.append(idx+1)
return result
www.daleseo.com/python-enumerate/
[파이썬] enumerate 내장 함수로 for 루프 돌리기
Engineering Blog by Dale Seo
www.daleseo.com
반응형