알고리즘 97

[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..

[python][프로그래머스]기능개발_[스택/큐]

프로그래머스의 고득점 kit 의 스택/큐의 첫번째 문제이다. 문제 : 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 문제를 이해하는 것도 꽤 시간이 걸렸다. 처음에는 정직하게 (바보같이) progress에서 speeds를..

[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..

[삼성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..

[1]알고리즘 스터디 - 알까기 시작 _섹션2(1)

타대학 사람들과 알고리즘 스터디를 시작하였다. 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 이 강의를 보고 공부하며 매주 수요일, 일요일 저녁 2시간마다 줌으로 모여, 복습 & 질의 응답을 가진다. 이를 기록하려고 한다. 한달동안 잘 마무리 할..

[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..