파이썬 70

99클럽 코테 스터디 34일차 TIL + 구현

https://school.programmers.co.kr/learn/courses/30/lessons/150370?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(today, terms, privacies): answer = [] d = {} # 약관 dict today = list(map(int, today.split('.'))) # 일 단위로 변환 today = today[0]*12*28 + today[1]*28 + today[2] for t in terms: n,m = t.split() ..

Algorithm/Problems 2024.12.01

99클럽 코테 스터디 33일차 TIL + 구현

https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=python3 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krdef solution(new_id): answer = '' # 1단계 new_id = new_id.lower() # 2단계 for word in new_id: if word.isalnum() or word in '-_.': answer += word # 3단계 while '..' in answer: answer = answer.rep..

Algorithm/Problems 2024.11.30

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

https://www.acmicpc.net/problem/2631import sysinput = sys.stdin.readlinen = int(input())lines = []for _ in range(n): lines.append(int(input()))dp = [1] * nfor i in range(n): for j in range(i): if lines[j] 결국 오름차순으로 정렬되기까지의 최소 이동 횟수를 정해야한다.가장 큰 증가하는 부분 수열을 구하면 그 사람은 올바르게 줄 서있는 것이기 때문에 그 나머지 값을 구하면 된다.

Algorithm/Problems 2024.11.28

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

https://www.acmicpc.net/problem/11055import sysinput = sys.stdin.readlinen = int(input())A = list(map(int, input().split()))dp = [0] * ndp[0] = A[0]for i in range(n): for j in range(i): if A[i] > A[j]: dp[i] = max(dp[i], dp[j]+A[i]) else: dp[i] = max(dp[i], A[i])print(max(dp))dp리스트를 0으로 초기화 한 후 dp[0]값은 이전 값과 비교할 것이 없기 때문에 A[0]으로 초기화 해준다.자신 앞까지의 값을 비교하며 이전까지..

Algorithm/Problems 2024.11.25

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클럽 코테 스터디 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