본문 바로가기

분류 전체보기

(340)
99클럽 - 진짜 공간 https://www.acmicpc.net/problem/1350아이디어입력된 file_sizes를 순회하며 필요한 클러스터의 수를 계산한다.클러스터 수에 클러스터의 크기를 곱해 필요한 용량을 계산한다.이를 더한다.만약 파일의 크기가 0이라면 과정을 생략한다.풀이n = int(input())file_sizes = list(map(int, input().split()))cluster_size = int(input())total_disk_space = 0for size in file_sizes: if size == 0: continue clusters_needed = (size + cluster_size - 1) // cluster_size to..
99클럽 - 거리 두기 게임 https://www.acmicpc.net/problem/30052아이디어끝과 끝 사이의 거리가 D보다 작다면 이길 수 없다.각 칸에서 가능한 최대 책시 거리가 D 미만이라면 해당 칸을 차단해야 한다.출력은 차단한 칸들의 집합이다.풀이N, M = map(int, input().split())D = int(input())max_distance_from_edge = (N-1) + (M-1)if max_distance_from_edge
99클럽 - 롤케이크 자르기, 주차 요금 계산 롤케이크 자르기 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr아이디어set과 dict를 사용해 전체 토핑의 종류를 계산할 수 있도록 구현했다.주의해야 할 점은 '토핑의 가짓수'가 같아야 공평한 분배라고 정의하고 있다는 점이다.풀이def solution(topping): total_types_set = set(topping) total_types = len(total_types_set) left_frequency = {} right_frequency = {t: 0 for t in total_types_set}..
99클럽 - 역습 3976번: 역습축구에서 역습은 매우 중요한 전술이다. WeissBlume FC는 수비 할 때, 스트라이커 두명을 제외하고는 모두 자기 진영에서 수비를 한다. 이때, 수비수가 상대방의 공을 따게 되면, 스트라이커에게 긴www.acmicpc.net아이디어입력이 매우 복잡하다.c : 테스트 케이스의 수n, l1, l2, s1, s2n : 공격수 좌표의 갯수l1, l2 : 패스 난이도s1, s2 : 슛 난이도1번 선수가 패스하는 데 걸리는 시간1번 선수가 드리블 하는 데 걸리는 시간2번 선수가 패스하는 데 걸리는 시간2번 선수가 드리블 하는 데 걸리는 시간입력을 받고 나서는 선수1과 2가 해당 지점에 도착하는 최소 시간을 도출하고 이 중 작은 값을 최종 결과로 사용..
99클럽 - 선택의 기로 30970번: 선택의 기로 첫 번째 줄에는 첫 번째 방법을 선택했을 때의 첫 번째로 고른 촉석루 미니어처의 품질과 가격, 두 번째로 고른 촉석루 미니어처의 품질과 가격을 공백으로 구분하여 순서대로 출력한다. 두 번 www.acmicpc.net 아이디어 정렬 문제이다. 선택 방법은 서로 영향이 없다고 되어있기 때문에 원본을 훼손하지 않는 sorted를 사용했고, 선행 정렬 조건이 중복되는 경우 후행 정렬 조건이 존재하기 때문에 lambda를 사용했다. 풀이 n = int(input()) miniatures = [] for _ in range(n): q, p = map(int, input().split()) miniatures.append((q, p)) first = sorted(miniatures, key..
99클럽 - H-Index, 프로세스 H-Index 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 문제 이해가 굉장히 어려웠다. 논문 n 편 중, h번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 H-index이다. 위 H-index의 설명이 문제인 것 같은데 말을 조금 바꿔 보자면 n편의 논문 중 A번 이상 인용된 논문의 수가 B라면 A와 B 중 작은 값이 H-index이다. 풀이 def solution(citations): citations.sort(reverse=True) n = len(citations) for idx in range..
99클럽 - 제리와 톰1 17504번: 제리와 톰 2 $$ 1 - \cfrac{1}{2 + \cfrac{1}{7 + \cfrac{1}{1 + \cfrac{1}{8}}}} = 1 - \cfrac{1}{2 + \cfrac{1}{7 + \cfrac{8}{9}}} = 1 - \cfrac{1}{2 + \cfrac{9}{71}} = 1 - \cfrac{71}{151} = \cfrac{80}{151} $$ www.acmicpc.net 아이디어 풀이 _ = input() input_string = input() values = list(map(int, input_string.split())) n = 0 d = 1 for val in reversed(values): n, d = d, val * d + n remain = d - n tot = d..
99클럽 - 행렬 테두리 회전하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 풀이 def solution(rows, columns, queries): template = [[y * columns + x + 1 for x in range(columns)] for y in range(rows)] answer = [] for query in queries: y1, x1, y2, x2 = [i - 1 for i in query] min_value = float('inf') top_left = template[y1][x1] # 좌 for y in range(y1, y2): templa..
99클럽 - 큰 수 만들기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 단순해 보이지만 거슬리는 조건이 몇 가지 있다. 문제 조건 상 정렬 순서는 유지 돼야한다. number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. 입력이 100만으로 매우 무거운 계산이 예상되기 때문에 경우의 수를 전부 비교할 수 없다. 어떤 값이 작은 값인지 확인하기 위해 정렬을 사용 할 수 없다. 이는 숫자 각각의 크기외에 자릿수 라는 다른 변수가 있기 때문이다. 기본적으로는 앞에서부터 순서대로 훑어가며, 지금 가리키고 있는 숫자가 이전의 숫자보다 크다면 지금 숫자를 이전 숫자 대신..
99클럽 - 공원 산책, 예상 대진표 공원 산책 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아이디어 두더지 문제로 유명한 2차원 배열의 경로탐색 문제의 변형이다. 최단거리 찾기 보다는 난이도가 낮은 편으로, DFS나 BFS 없이 경로의 유효성을 따져 이동거리를 반환하기만 하면 된다. 풀이 def solution(park, routes): height, width = len(park), len(park[0]) obstacles = {(y, x) for y in range(height) for x in range(width) if park[y][x] == 'X'} dog_position = ..