Algorithm/Problems 94

99클럽 코테 스터디 27일차 TIL + DP

https://www.acmicpc.net/problem/11722import sysinput = sys.stdin.readlinen = int(input())A = list(map(int, input().split()))dp = [1 for _ in range(n)]for i in range(n): for j in range(i): if A[i] 자신의 앞까지 값을 비교하며 앖에서 비교했던 값중 가장 큰값 과 현재 자신의 값 + 1 중 더 큰 값을 초기화한다.이전까지 구했던 값은 다시 구하지 않고 dp 리스트를 이용해 값 비교를 해준다.

Algorithm/Problems 2024.11.24

99클럽 코테 스터디 26일차 TIL + 수학

https://www.acmicpc.net/problem/9655import sysinput = sys.stdin.readlinen = int(input())if n % 2 == 0: print("CY")else: print("SK")상근이가 먼저 게임을 시작하고 돌을 1개 혹은 3개를 가져오며 마지막 돌을 가져가면 이기는 게임이다.n = 1 일 때부터 생각하면n = 1 상근 WINn = 2 창영 WINn = 3 상근 WINn = 4 창영 WIN....n이 홀수 일 때 상근이가 이기고 n이 짝수 일 때 이기는 것을 알 수 있다.

Algorithm/Problems 2024.11.23

99클럽 코테 스터디 24일차 TIL + 완전탐색

https://school.programmers.co.kr/learn/courses/30/lessons/86971?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krfrom collections import dequedef bfs(v, n, trees): visited = [False for _ in range(n+1)] que = deque([v]) visited[v] = True cnt = 1 # 이어져있는 전선의 송전탑 개수 while que: now = que.popleft() for nxt in tree..

Algorithm/Problems 2024.11.21

99클럽 코테 스터디 23일차 TIL + 완전탐색

https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krfrom itertools import permutationsdef chkPrime(num): if num 소수 판별할 수의 제곱근까지 구하면 된다.입력받은 numbers를 list화를 해 nums의 길이의 자리수만큼 수를 만들 수 있으므로 1자리부터 len(numbers)자리까지 수를 만든다.중복을 제거하기 위해 set() 함수를 사용한다.소수판별 알고리즘으로 에라토스테네스의 체 를 알면 좋다!

Algorithm/Problems 2024.11.20

99클럽 코테 스터디 20일차 TIL + 완전탐색

https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(answers): a = [1,2,3,4,5] b = [2,1,2,3,2,4,2,5] c = [3,3,1,1,2,2,4,4,5,5] score = [0,0,0] for i, answer in enumerate(answers): if answer == a[i%len(a)]: score[0] += 1 if answer == b[i%len(b)]: ..

Algorithm/Problems 2024.11.17

99클럽 코테 스터디 19일차 TIL + 그리디

https://www.acmicpc.net/problem/1374import sysimport heapqinput = sys.stdin.readlinen = int(input())ls = []for _ in range(n): c,s,e = map(int, input().split()) ls.append([c,s,e])ls.sort(key=lambda x : (x[1])) # 시작시간 정렬room = []heapq.heappush(room, ls[0][2]) # 가장 처음 시작하는 강의의 끝나는시간for i in range(1,n): if ls[i][1] 그 강의실 이용 heapq.heappop(room) # 가장 빨리 끝나는 강의실 out > 그 강의실 이용 h..

Algorithm/Problems 2024.11.16

99클럽 코테 스터디 18일차 TIL + 그리디

https://www.acmicpc.net/problem/2212import sysinput = sys.stdin.readlinen = int(input())k = int(input())ls = list(map(int, input().split()))ls.sort()dist = []for i in range(n-1): dist.append(ls[i+1] - ls[i])dist.sort()print(sum(dist[:n-k]))코드는 매우 간단해 보이지만 문제를 이해하는데 너무 오래걸렸다......n개의 센서로 최대 k개의 집중국을 만들어야 한다.그림과 같이 최대 2개의 집중국을 만들 수 있고, 그 거리를 최소로 하려면 가장 거리 차이가 많이 나는 3과 6사이를 끊어 집중국을 나누어야 한다.우선 센서..

Algorithm/Problems 2024.11.14