본문 바로가기

Python 공부8

백준(12891번) - DNA 비밀번호 문제풀이 접근 슬라이싱윈도우 이용해서 O(n) 시간복잡도로 계산 설계 슬라이싱 윈도우로 문자열 왼쪽 빼고 오른쪽 더해서 문자열 정의하기 정의한 문자열에 DNA 문자 개수 세서 stat 리스트에 저장하기 ‘A’,’C’,’G’,’T’ 최솟값 minDNA 리스트와 stat 에 저장된 수 비교해서 DNA비밀번호 되는지 확인 lens, lenp = map(int,input().split()) st = input() minDNA = list(map(int,input().split())) DNAlst = ['A','C','G','T'] password = str() stat = [0,0,0,0] cnt = 0 for i in range(lenp): ## 초기 p만큼 문자 설정 password += st[i] for i in .. 2023. 2. 18.
2023.02.02 알고리즘 문제풀이 21.문자열 뒤집기 def solution(my_string): answer = my_string[::-1] return answer 22. 직각삼각형 출력하기 n = int(input()) for i in range(1,n+1): print('*'*i) 23. 짝수 홀수 개수 def solution(num_list): odd = 0 even = 0 for i in num_list: if i % 2 == 0: even += 1 else: odd +=1 return [even,odd] 24. 문자 반복 출력하기 def solution(my_string, n): string ='' for i in my_string: string += i*n return string 25. 특정 문자 제거하기 def solu.. 2023. 2. 2.
2023/02/01 알고리즘 문제풀이 2023.02.01 알고리즘 스터디 문풀 모든 문제저작권은 https://school.programmers.co.kr/ 에 있습니다. 13. 피자 나눠 먹기(1) def solution(n): pizza = 7 if n % pizza !=0: answer = n//pizza+1 else: answer = n//pizza return answer 14.피자 나눠 먹기(2) def solution(n):##pizza = 6조각,과 n의 최소공배수 구해야할듯? for i in range(max(6,n),6*n+1): if i % 6 == 0 and i % n == 0: lcd = i break return i // 6 최소공배수 잘 이용했다. 안보고 쓰는데 좀 오래걸렸다.. ㅠ 15.피자 나눠 먹기(3) de.. 2023. 2. 2.
2023/01/31 알고리즘 문제풀이 2023.01.31 알고리즘 스터디 문풀 9. 나머지 구하기 def solution(num1, num2): answer = num1 % num2 return answer 10. 중앙값 구하기 def solution(array): array.sort() #리스트 정렬 if len(array) % 2 == 1: ## 숫자개수가 홀수개면 idx = (len(array)-1) // 2 ## 가운데 인덱스 뽑아서 출력 answer = array[idx] else: idx1,idx2 = len(array)//2-1, len(array)//2 ## 숫자갯수가 짝수개면 answer = (array[idx1]+array[idx2])/2 ## 가운데 두값 평균값 출력 return answer 다른사람의 풀이 중 이상한것 .. 2023. 1. 31.

반갑습니다 ✿ڿڰۣ— 조은하루 ^^
SSAFY 9기 김웅서 티스토리