🔗 구명보트 - 프로그래머스 📌오늘의 학습 키워드저번 기수에서 풀었던 문제다. 처음 풀 때 꽤나 힘들었던 걸로 기억한다..✨공부한 내용 본인의 언어로 정리하기그리디 문제로 가장 무거운 사람과 가벼운 사람을 함께 묶어 limit 을 초과하지 않는 다면 보내고 아니면 무거운 사람만 보내면 된다. [🤓문제 해결 코드]from collections import dequedef solution(people, limit): people.sort() people = deque(people) answer = 0 while people: person = people.pop() if people: light = people.popleft() ..
🔗 2667. 단지번호 붙이기 - 백준 📌오늘의 학습 키워드BFS인거 같은데✨공부한 내용 본인의 언어로 정리하기dx,dy 에서 배운것도 써봤다. 어제 visited를 사용하지 않았었는데 이번에는 사용해 봤다.📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지오늘은 냅다 코드를 적지 않고 구성을 하고 진행해 봤다. 역시 훨씬 수월했다.어떻게 해결했는지각 집을 순회하면서 만약 집이 있으면 그 집 근처의 이웃들을 모두 찾는 방식으로 해결했다.[🤓문제 해결 코드]import sysfrom collections import dequen = int(sys.stdin.readline())board = []visited = []for _ in range(n): nums = sys.stdin.rea..
🔗 백준 2644 촌수계 📌오늘의 학습 키워드BFS를 통해 해결하는 문제였으나 자료구조에 따른 메모리 차지에 대해서 알게 되었다.✨공부한 내용 본인의 언어로 정리하기결론적으로 dictionary가 list보다 메모리를 많이, 통과가 안될 정도로 많이 차지했다.📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지촌수를 계산하는 문제로 트리를 이용해 BFS로 해결하는 문제였다. 잘 구현했다고 생각했는데 계속 메모리 초과가 났다.어떻게 해결했는지찾아보니까 나는 dictionary를 사용해 node list를 구현했는데 그게 문제였다. list를 사용하니까 바로 통과했다.무엇을 새롭게 알았는지메모리 사용량 : dictionary > list[🤓문제 해결 코드]import sysfrom collect..
🔗 모음사전 📌오늘의 학습 키워드완전탐색✨공부한 내용 본인의 언어로 정리하기완전 탐색인데 재귀 공부한거 사용해서 풀어봤다.📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지오늘 문제는 사전을 만든다음에 그 index를 반환하는 문제였다.어떻게 해결했는지나는 모든 경우의 수의 사전을 만든 후에 정렬하고 index를 반환했다.무엇을 새롭게 알았는지🤗내일 학습할 것은 무엇인지재귀 more[🤓문제 해결 코드]count = 0word = []word_list = []def solution(target_word): def make_list(cnt, total): global word global count if cnt == total: ..
🔗 745. Prefix and Suffix Search 📌오늘의 학습 키워드오늘 갑자기 난이도가 높아졌다. 시간 초과 문제를 잘 다뤄야 했는데 역시 hash(dictionary)로 해결했다. ✨공부한 내용 본인의 언어로 정리하기각각의 항목을 직접 확인하기 보다는 모든 경우의 수를 dictionary 에 두고 마지막에 확인해야 시간 초과가 일어나지 않았다.📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지단순하게 for문에서 startswith, endswith로 확인하려고 했으나 실패했다.어떻게 해결했는지가능한 prefix, suffix dictionary를 다 만들어 놓고 거기에서 찾았다.무엇을 새롭게 알았는지마지막에 검색하기보다 모든 경우의 수를 만들어 놓고 검색하는게 더 빠를 수 있..
🔗 숫자 카드 2📌오늘의 학습 키워드오늘도 hash(dictionary)를 사용하면 쉽게 해결 가능했다.✨공부한 내용 본인의 언어로 정리하기바로 검색하고 싶으면 hash를 사용하자!📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지숫자 카드 1 문제와 달리 어떤 숫자가 몇번 있는 지 확인 해야했다.어떻게 해결했는지dictionary 자료 구조를 사용해 이미 갖고 있는 카드가 무엇이고 몇 개가 있는 지 저장해 둔 후에 검색했다.내일 학습할 것은 무엇인지어제 재귀 공부했는데 재밌어서 또해야지~[🤓문제 해결 코드]import sysN = int(sys.stdin.readline())n_list = list(map(int, sys.stdin.readline().split()))M = int(sys..
🔗 10815: 숫자 카드📌오늘의 학습 키워드시간 문제로 hash를 사용해야한다. python의 경우 dictionary를 사용하면 된다.✨공부한 내용 본인의 언어로 정리하기for문을 2번 사용하면 시간 초과로 통과 불가~ 그렇다면 hash 사용하기~📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지for문을 사용하면 시간 초과가 일어났다. 어떻게 해결했는지hash를 사용했다.무엇을 새롭게 알았는지😳[🤓문제 해결 코드]import sysN = sys.stdin.readline()N_list = sys.stdin.readline().split()M = sys.stdin.readline()M_list = sys.stdin.readline().split()answer = []N_dict = {..
🔗 H-Index 📌오늘의 학습 키워드문제를 있는 그대로 읽고 해결하려고 했다. ✨공부한 내용 본인의 언어로 정리하기이전 스터디 때 나왔던 문제였는데 안 보고 다시 풀어보려고 했고 비교해 보니까 조금 코드가 간단해졌다.📚오늘의 회고어떤 문제가 있었고, 나는 어떤 시도를 했는지filter를 이용해 문제 그대로 코드로 옮기려고 했다.어떻게 해결했는지가장 큰 수에서 시작해서 줄여오면서 조건을 만족하도록 했다.무엇을 새롭게 알았는지😏내일 학습할 것은 무엇인지재귀..[🤓문제 해결 코드]def solution(citations): h = max(citations) while True: citations_up = list(filter(lambda x: x >= h, citations)..