99클럽 코테 스터디 18일차 TIL + 프로그래머스 피로도오늘의 학습 키워드완전탐색순열, 조합프로그래머스 피로도공부한 내용순열을 활용해서 모든 경우의 수를 탐색하도록 구현탐험 순서의 경우의 수를 모두 탐색하도록 하는 단순한 구현from itertools import permutationsdef solution(k, dungeons): answer = 0 for i in permutations(dungeons, len(dungeons)): tmp = k cnt = 0 for need, spend in i: if tmp >= need: tmp -= spend cnt += 1 ..
99클럽 코테 스터디 18일차 TIL + 백준 2212오늘의 학습 키워드백준 2212센서그리디 알고리즘공부한 내용정렬을 활용센서 위치를 입력받아 오름차순 정렬인접한 센서 사이의 거리를 전부 구해 dist 리스트에 저장 후 내림 차순 정렬센서들을 k개의 구간으로 나눠야 하므로, k-1번만큼 반복을 돌며 값이 가장 큰 원소부터 차례로 제거남은 원소들의 합을 구하여 출력한다.# 백준 2212# 센서import sysinput = sys.stdin.readlineN = int(input())K = int(input()) # 집중국의 개수# N개 센서의 좌표sensors = list(map(int, input().split()))sensors.sort() # 센서의 좌표를 정렬dist = [] # 각 센서 사이의..
99클럽 코테 스터디 17일차 TIL + 백준 31926 밤양갱오늘의 학습 키워드그리디 알고리즘백준 31926밤양갱공부한 내용문제의 핵심은 'daldidalgo'라는 문자열을 N번 입력하고 마지막에 'n'을 추가하는 과정의 최소 시간을 구하는 것복사-붙여넣기 기능을 활용할 수 있음입력 시간과 복사-붙여넣기 시간이 각각 다름패턴을 찾아야 문제를 풀 수 있다.규칙2^k개의 'daldidalgo'가 있을 때마다 패턴이 바뀜(1, 2), (3, 4), (5, 6, 7, 8), (9, 10, 11, 12, 13, 14, 15, 16)이 같은 시간이 소요된다.import sysinput = sys.stdin.readlinen = int(input())answer = 10 # 초기값 (n=1일 때의 답)bomb =..
99클럽 코테 스터디 16일차 TIL + 백준(게임을 만든 동준이)오늘의 학습 키워드그리디백준 2847(게임을 만든 동준이)역순으로 탐색공부한 내용난이도가 높은 레벨일수록 점수가 높아야하기 때문에 높은 레벨부터 낮은 레벨로 탐색하도록 구현해야한다. N = int(input())score = []for _ in range(N): score.append(int(input()))count = 0# 뒤에서부터 앞으로 검사for i in range(N-2, -1, -1): # 현재 점수가 다음 레벨 점수보다 크거나 같으면 if score[i] >= score[i+1]: # 감소시켜야 하는 양 계산 diff = score[i] - score[i+1] + 1 co..
99클럽 코테 스터디 13일차 TIL + 백준 27961(고양이는 많을수록 좋다)오늘의 학습 키워드백준 27961고양이는 많을수록 좋다그리디 알고리즘공부한 내용# 백준 27961# 고양이는 많을수록 좋다import sysinput = sys.stdin.readline N = int(input()) # 목표 고양이 수cat = 1 # 현재 고양이 수 (첫 번째 고양이 생성 가정)count = 0 # 행동 횟수# 특수 케이스 처리if N == 0: # 고양이가 필요 없는 경우 print(0)elif N == 1: # 고양이 1마리만 필요한 경우 print(1)else: while cat != N: # 현재 고양이 수가 목표와 다른 동안 반복 ..