-
[프로그래머스] LV1. 모의고사알고리즘 2023. 3. 13. 16:29728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/42840
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근
1. 처음에는 dict를 쓸 생각을 못했고,first, second, third 이런식의 변수에 +=1 을 하면서 사용하려함
2. 마지막에 가니까 first = 1 , second = 2 이런식으로 key 값이 필요하다는 생각에 dict를 사용시작함
3. 마지막에 최댓값이랑 비교하면서 최댓값이면 새로운 리스트에 값 넣고 최댓값이랑 같은 값이면 res.append 했음
풀이
def solution(answers): dic = {'1':0,'2':0,'3':0} check2 = [2,1,2,3,2,4,2,5] check3 = [3,3,1,1,2,2,4,4,5,5] for i in range(len(answers)): if answers[i] % 5 == (i+1) % 5: dic['1'] += 1 if answers[i] == check2[i%8]: dic['2'] += 1 if answers[i] == check3[i%10]: dic['3'] += 1 res = [] mv = 0 for i in dic.items(): if i[1] > mv: res = [int(i[0])] mv = i[1] elif i[1] == mv: res.append(int(i[0])) return res
여담인데, 마지막에 3번 풀이하면서 지렸다 라고 혼자 뿌듯했는데 1점 밖에 안줌,,, 참신하지 않았나보다,,'알고리즘' 카테고리의 다른 글
[프로그래머스] LV2. 1차 캐시 (0) 2023.03.27 [프로그래머스] LV2. 주차요금 계산 (0) 2023.03.20 [프로그래머스] LV1. 성격 유형 검사하기 (0) 2023.03.13 [프로그래머스] LV1. 둘만의 암호 (0) 2023.03.13 [프로그래머스] LV1. 개인정보 수집 유효기간 (0) 2023.03.11