- 양궁대회- 22KAKAO Blind(python)2023년 06월 16일
- 2료일
- 작성자
- 2023.06.16.:46
https://school.programmers.co.kr/learn/courses/30/lessons/92342
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. n의 제한이 10이기에 일단 나는 중복조합을 사용해도 된다고 생각을 하였다.
2. info를 보면 점수가 첫번째인덱스가 10이고 줄어드는 형식으로 되어있기에 temprion에도 만약 내가 맞춘 점수에 해당하는 인덱스에 1이 증가하도록 하였다.
그리고 나서 해당하는 temprion과 info를 비교하면서 만약 temprion이 크다면 라이언이 해당하는 점수를 얻고 아닌데 만약 Info[k]에만 값이 있다면 어피치 점수를 추가해주었다. else를 쓰게 되면 둘다 점수없을때도 어피치가 얻기에
3. 그리고 나서 둘의 차가 우리가 처음준 0보다 크다면 라이언이 승리하는 거고 점수차를 갱신해주고 answer에 temprion을 대입
그래서 전체 돌고나면 점수차 제일 클때가 나오게 된다. 시간복잡도는 O(n)
from itertools import combinations_with_replacement as cwr def solution(n, info): answer = [-1] maxscore = 0 for i in list(cwr(range(0,11), n)): temprion = [0]*11 for j in i: temprion[10-j] += 1 rionscore, appeachscore = 0, 0 for k in range(0,11): if temprion[k]>info[k]: rionscore += 10-k elif info[k]: appeachscore += 10-k if rionscore - appeachscore > maxscore: maxscore = rionscore - appeachscore answer = temprion return answer
'알고리즘' 카테고리의 다른 글
1259 - swift로풀기 (0) 2023.09.05 파괴되지 않은 건물 - pYthon (0) 2023.06.19 주차요금계산 - 22kakao blind recruitment - python (0) 2023.06.16 등산코스정하기-python(kakao22 season) (0) 2023.06.12 두 큐 합 같게 만들기 - Python으로 풀이 (0) 2023.06.11 다음글이전글이전 글이 없습니다.댓글
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)