목록알고리즘/파이썬(Python) (16)
It's easy, if you try
문제 서랍의 비밀번호가 생각이 나지 않는다. 비밀번호 P는 000부터 999까지 번호 중의 하나이다. 주어지는 번호 K부터 1씩 증가하며 비밀번호를 확인해 볼 생각이다. 예를 들어 비밀번호 P가 123 이고 주어지는 번호 K가 100 일 때, 100부터 123까지 24번 확인하여 비밀번호를 맞출 수 있다. P와 K가 주어지면 K부터 시작하여 몇 번 만에 P를 맞출 수 있는지 알아보자. [입력] 입력으로 P와 K가 빈 칸을 사이로 주어진다. [출력] 몇 번 만에 비밀번호를 맞출 수 있는지 출력한다. 입력 예시 123 100 출력 예시 24 풀이 SW Expert Academy 모의 테스트 방식에 익숙해지려고 풀어봤다. 풀이 1 P, K = map(int, input().split()) print(P - K..
문제 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) I 숫자 큐에 주어진 숫자를 삽입합니다. D 1 큐에서 최댓값을 삭제합니다. D -1 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다...
문제 코딩테스트 연습 - 위장 programmers.co.kr 풀이 이 문제는 알고리즘 스터디에서 설원언니가 풀이해준 문제인데, 복습하면 좋을 것 같아 다시 풀어보며 공부한 후, 정리했다. from collections import Counter from functools import reduce def solution(clothes): count = Counter([category for name, category in clothes]) return reduce(lambda x, y : x * (y + 1), count.values(), 1) -1 먼저 서로 다른 의상의 조합의 수를 구하는 공식 clothes가 [[yellow_hat, headgear], [blue_sunglasses, eyewear]..
문제 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 풀이 def solution(priorities, location): answer = 0 pi_list = [(p, i) for (i, p) in enumerate(priorities)] while pi_list: prior = pi_list.pop(0) # 밑에 코드 추가하니까 85점 -> 100점 if pi_list: p_list = [priority for priority, idx in pi_list] if p_list: if prior[0] >= max..
문제 풀이 n = map(int, input()) nums = list(map(int, input().split())) nums.sort() print(nums[0] * nums[-1]) 처음에 nums.pop(0) * nums[0] 로 풀었더니 당연히 ! 틀렸다. 배열의 마지막 요소를 얻어오기 위해 nums[-1] 을 사용하면 된다. 최초 발행 날짜: 2020-06-15
문제 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 www.acmicpc.net 풀이 n, han, jimin = map(int, input().split()) answer = 0 while han != jimin: han -= han//2 jimin -= jimin//2 answer += 1 print(answer) 토너먼트를 이해하고 있다면 간단하게 풀 수 있는 문제 ! 지민과 한수에서 2로 나눈 몫을 뺀 값이 같아 졌을 때가 둘이 대결하는 때이다. 최초 발행 날짜: 2020-06-20