파이썬 145

[python][프로그래머스]프린터_스택/큐

이 문제는 이해하기 쉬운 문제이다. 어디서 많이 본 문제인데 혼자 못풀었다... 문제에 주어진 순서의 숫자가 언제 출력된가를 return하는 문제다. 주어진 순서를 어떻게 기억할 수 있을까 고민했는데 enumerate를 이용해 쌍으로 만드는 방법이었다. 이 코드가 참 파이써닉하다. 내가 스스로 만들어낼수있도록 친숙해지고싶다. 이 코드는 사실 d = deque for i, v in enumerate(priorities) : d.append([v,i]) 와 같이 3줄로 만들 수 있다. 하지만 d = deque ( [ ( v,i ) for i,v in enumerate(priorities) ] ) 이렇게 한줄로 만들 수 있다. 코드 : def solution(priorities, location): answe..

[파이썬]최소힙과 최대힙 구현하는 법

최소힙 : 부모 노드의 값이 자식 노드의 값보다 항상 작은 트리 최대힙 : 부모 노드의 값이 자식 노드의 값보다 항상 큰 트리 파이썬에서 구현하는 방법 1 ) 리스트를 생성한다. 2) heapq를 import한다. import heapq as hq 3) 함수 이용 [ hq. heappop(), hq.heappush()] a = [] # a라는 리스트 hq.heappop(a) # a에서 pop한다. hq.heappush(a,n) # a에서 n이라는 숫자를 넣는다. -> heappop, heappush를 수행할경우 수행 후 heap형태를 가진다. heapq는 기본적으로 최소힙이다. 최대힙을 이용하고 싶은 경우 - 를 붙여 사용하면된다.

[7]알고리즘스터디 - 섹션7_3주차 스터디

파이썬 알고리즘 문제풀이 스터디 - 알까기 _ 섹션 7 티스토리 마크다운이 이상해서 올려놓은 깃허브 주소도 올린다. https://github.com/dumi33/TIL_TodayILearn/blob/main/220225/%EC%84%B9%EC%85%987.md GitHub - dumi33/TIL_TodayILearn: 오늘 배운 코드/내용을 정리해서 올립니다. 오늘 배운 코드/내용을 정리해서 올립니다. Contribute to dumi33/TIL_TodayILearn development by creating an account on GitHub. github.com 문제 1 - 최대점수 구하기(DFS) 내가 만든 코드 1, 2번은 잘 돌아가는데 나머지는 시간초과 def dfs(x,score, time..

[6]알고리즘스터디 - 섹션6_3주차 스터디

파이썬 알고리즘 문제풀이 스터디 - 알까기 _ 섹션 6 티스토리 마크다운이 이상해서 깃허브 주소도 올린다. https://github.com/dumi33/TIL_TodayILearn/blob/main/220223/%EC%84%B9%EC%85%986.md 문제 1 - 재귀함수를 이용한 이진수 출력 def dfs(x) : if x >0: tmp = x//2 dfs(tmp) print(x%2,end = '') if __name__ == "__main__" : n = int(input()) dfs(n) def dfs(x) : if x == 0 : return else : dfs(x//2) print(x%2,end = '') if __name__ == "__main__" : n = int(input()) dfs(..

[5]알고리즘스터디 - 섹션5_2주차 스터디

파이썬 알고리즘 문제풀이 스터디 - 알까기 _ 섹션 5 문제 1 - 가장 큰 수 num ,m = map(int,input().split()) num = list(map(int,str(num))) ans = [] for val in num: while ans and m and ans[-1] 0 : # 제거할 숫자가 남았을경우 끝자리 값을 제거 ans = ans[:-m] res = ''.join(map(str,ans)) # join은 문자열로 합해주기때문에 str을 이용 print(res) 연속된 숫자를 각각 하나의 숫자로 바꾸는 법 -> list(map(int,str(num))) 문제 2 - 쇠막대기 s = input() stac..

[4]알고리즘스터디 - 섹션4_2주차 스터디

파이썬 알고리즘 문제풀이 스터디 알까기 _ 섹션 4 문제 1 - 이분검색 n, m = map(int,input().split()) arr = list(map(int,input().split())) arr.sort() lt , rt = 0, n-1 while lt m : # 큰 부분 자르기 rt = mid -1 elif arr[mid] == m : print(mid+1) break else : # 작은 부분 자르기 lt = mid +1 문제 2 - 랜선자르기 k, n = map(int,input().split()) Line = [] largest = 0 for i in range(k) : tmp = int(input()) Line.append(tmp) largest = max(largest, tmp) de..

[Python] 파이썬 출력방법(like..%d %s)

print("#%d %s" %(i+1 ,'YES' if isTrue==True else 'NO')) # isTrue가 맞으면 YES출력, 아니면 NO출력 파이썬의 출력은 그저 간단히 print(값) 으로 알고있었다. 이렇게 형식으로 출력하는 방법을 모르고있었고 강의를 들으며 새롭게 알게되어서 포스팅 해본다. (아마 이전에 읽었는데 잊어먹은거겠지만) c언어와 같이 %d, %s 로 형식을 지정한다. 그리고 뒤에 ' , '는 넣지않고 %와 괄호를 이용해 %d, %s에 넣을 값을 지정한다. print("%d" %(5)) 5 예를 들어 파이선 알고리즘 문제풀이 - 섹션 2 _ 회문 문자열 검사에서 n = int(input()) for i in range(n) : Origin = input() Origin = Or..

[삼성SW역량][Python/BOJ] 백준 13458 시험 감독(수학)풀이와 수정과정

https://www.acmicpc.net/problem/13458 13458번: 시험 감독 첫째 줄에 시험장의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 각 시험장에 있는 응시자의 수 Ai (1 ≤ Ai ≤ 1,000,000)가 주어진다. 셋째 줄에는 B와 C가 주어진다. (1 ≤ B, C ≤ 1,000,000) www.acmicpc.net n = int(input()) arr = list(map(int,input().split())) b,c = map(int,input().split()) cnt = 0 max_super = max(b,c) min_super = min(b,c) for student in arr : while True : if student == 0 : brea..

[2]알고리즘스터디 - 섹션2(2)_1주차 스터디

섹션 2 (2) https://www.inflearn.com/course/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4-%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8/dashboard 파이썬 알고리즘 문제풀이 (코딩테스트 대비) - 인프런 | 강의 파이썬을 이용한 코딩테스트 문제풀이를 합니다., - 강의 소개 | 인프런... www.inflearn.com 앞서 포스팅과 같이 한달동안 이 강의를 스터디원들과 함께 풀어오고 질의응답 & 새롭게 배운것들 정리하는 스터디를 진행하기로 했다. 꾸준히 화이팅! 7번 문제 : 소수의 개수 impor..

[leetcode][Python]234. Palindrome Linked List(4일간의 팰린드롬 연결리스트 해결기🤪)

파이썬 알고리즘 인터뷰 8장이 시작되고 연결리스트 문제를 풀기시작했다. 첫문제인 만큼 어려운 문제는 아닐것이라 생각했는데 이게 왠걸 뭔말인지 잘 이해가 안갔다. 계속 책을 보면서 이해하려고 해봐도 내가 생각하는 이게 맞는건지 잘 이해가가지 않아 https://github.com/onlybooks/algorithm-interview/issues/147 팰린드롬 연결리스트 질문 · Issue #147 · onlybooks/algorithm-interview 212p 에 slow = 2->3이라고 가정해보자. 여기서 slow는 연결리스트이며, slow.next는 3이라는 의미이다. rev = 2->3이 되고, rev.next=1, 이 되어서 rev = 2->1이 된다고 적혀있습니다 slow는 연결리스트로 sl..