728x90
[세무민의 코딩일기] 로또의 최고 순위와 최저 순위 문제 풀이
이번에 풀어본 문제는 2021 Dev-matching : 웹 백앤드 개발 관련하여 출제된 문제이다.
1. 문제 설명
2. 제한사항 및 예시
3. 문제 풀이 방법
이번 문제는 문제 이해만 잘하면 쉽게 풀수 있는 문제입니다.
말 그대로 0을 제외하고 같은 값이 존재하는지 찾아본 뒤에 0값만큼 최고순위에 증가시킨 뒤 순위를 매기면 됩니다.
4. 코드 풀이
def RankCheck(result):
return {6:1, 5:2, 4:3, 3:4, 2:5, 1:6, 0:6}.get(result, "rank")
def solution(lottos, win_nums):
result = []
maxResult = 0
minResult = 0
zeroCheck = 0
maxCheck = 0
minCheck = 0
for i in range(0, 6):
if(lottos[i] == 0):
zeroCheck += 1
for j in range(0, 6):
if(win_nums[j] == lottos[i]):
maxCheck += 1
minCheck += 1
maxCheck += zeroCheck
maxResult = RankCheck(maxCheck)
minResult = RankCheck(minCheck)
answer = [maxResult, minResult]
return answer
RankCheck라는 함수를 하나 생성하여서 Max값과 Min값을 구분하여 등수를 산출해줍니다.
결과 함수에서는 해당 lottes와 win_nums를 비교하면서 max값과 min값 그리고 zero값을 체크해주면 됩니다.
RankCheck를 만든 이유는 max값과 min값을 비교해야 하는데 6개보다 많은 경우에는 코드의 길이가 길어 질 것이라고
판단하여서 함수로 표현했습니다.
5. 결과
최근에 회사를 다니면서 공부를 좀 더 열심히 해야겠다고 느끼고 있는 중입니다.
따라서 주말에 최대한 코드 관련 포스팅을 할 계획이고 최대한 제 포스팅을 보고 도움이 되셨으면 좋겠습니다.
다음에는 더 좋은 포스팅으로 찾아오겠습니다.
728x90
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 실패율(2019 KAKAO BLIND RECRUITMENT) 문제 풀이 (0) | 2021.11.16 |
---|---|
[세무민의 코딩일기] 위클리 챌린지 8주차 최소직사각형 문제 풀이 (0) | 2021.10.30 |
[세무민의 코딩일기] 프로그래머스 위클리 챌린지 2주차 상호 평가 문제 풀이 (0) | 2021.08.12 |
[세무민의 코딩일기] 프로그래머스 주식가격 문제 풀기 (0) | 2021.08.09 |
[세무민의 코딩일기] 프로그래머스 오픈채팅방 문제 풀기 (0) | 2021.08.04 |