난이도: Lv.2유형: greedy해결 여부: 정답내가 생각했던 아이디어/큰 가닥처음에는 문제를 잘못읽어서 최대 몇명 살릴수 있는지를 묻는줄 알았다. 근데 일단 다 살리는데 구명보트 몇개 필요하냐고 물었고, 최대 2인승이라는 점에서 남아있는 가장 무거운 사람 일단실은 다음 거기에 가장 가벼운 사람 되나 확인했다.오답 이유그 카운팅할때 min이랑 max 로 투포인터로 이동해서 풀었는데, 마지막 만날떄 엣지케이스 처리하느라 잠깐 틀림해답풀이와 일치한다.#기억할 문법 def solution(people, limit): answer = 0 people.sort() length=len(people) mini=0 maxi=length-1 while maxi>=mini: ..

전체 글
성장하는 삶을 목표로 삼고 있습니다. 백준 알고리즘 문제 풀이, 개발, 자기개발과 독서에 관해 비주기적으로 업로드 합니다.난이도: Lv.2유형: DP해결 여부: 정답내가 생각했던 아이디어/큰 가닥피보나치 수 문제여서 DP로 빠르게 풀었다. 함수 호출할까 하다가 어차피 이전단계 모두 필요하니 for문 돌렸다해답맞았다. 당연히#기억할 문법 #정답코드def solution(n): answer = 0 dp=[0]*(n+1) dp[0]=0 dp[1]=1 for i in range(2,n+1): dp[i]=(dp[i-1]+dp[i-2])%1234567 return dp[n]
내용목표 토익스피킹 IH이상 취득 피지컬 AI 캠프 AWS 공부 ga4 취득그 밖에 한일, 잡설은행과 일경험 인턴 썼는데 결국 다 최종적으로는 떨어졌다 포트폴리오는 만들었다.방학중 학교 알바하는것도 떨어지긴 했다.나만의 사이트 만들고 있다. 그냥 내가 만들고 싶은것들 다 넣어서 하나의 도메인에 우겨넣는 방식이다. 무식해보이지만 도메인 비용최소 및 나중을 위한 기반용으로 괜찮을 거 같다.코테 다시공부해야한다.에어비엔비에서 친구들과 갑자기 번개를 하게되었는데 원래라면 하지 못했을 경험이라 좋았다.대학 동기랑 스터디카페 30회 치 끊고 다니고있다.그래도 토익스피킹을 포함한 각종 자격증 취득면에서는 만족한다.배운 것읽은 책: 체호프 단편선==날짜====배운 것==1일코딩 테스트: 등산 코스 정하기2일서드파티 C..
난이도: Lv.2유형: brute force해결 여부: 정답내가 생각했던 아이디어/큰 가닥1~len()중 숫자 N만큼 저 리스트에서 N개 택하기.그 N개 순서 바꾸기그 순서 바꾼것들 소수 판단 후 집합 set()에 넣어서 중복방지하고 나중에 set() 길이를 답으로 해답맞긴한데 몇가지 개선점재조합 할 필요 없이 그냥result = permutations(numbers, N) list없이 이렇게 돌려도 됨. 그러면 그냥 그대로 나옴num = int("".join(M))활용해서 편하게 조합.#기억할 문법permutations 사용법from itertools import permutationsresult= permutations(temp,N) #여기에 list 감쌀지 말지 선택num = int("".join..
난이도: Lv.2유형: 수학해결 여부:정답내가 생각했던 아이디어/큰 가닥곱의 합이 최소가 되어야 한다.그래서 저쪽에서 최소와 이쪽에서 최대를 곱해주는 식으로 reverse정렬과 그냥 정렬을 매치시켜서 계산했다.해답정답이 맞았다. #기억할 문법 for a,b in zip(A,B):이런식으로 한번에 2개씩 반복문 돌릴 수 있디.#내 정답코드def solution(A,B): answer=0 A.sort() B.sort(reverse=True) for a,b in zip(A,B): answer+=a*b return answer
난이도: Lv.2유형: 큐,덱해결 여부: 틀림내가 생각했던 아이디어/큰 가닥알고리즘 적으로 일일히 넘기는건 비효율적. 바로보고 판단한다.뒤에것과 결합되는지 여부로 넘는지 안넘는지로 판단하면 될거 같은데, 그렇게 차원축소 해서 접근하는건가?오답 이유구현 어떠게 해야할지 모르겠다해답진짜 일일이 하는거였다. 무게 합만 일일히 구할수 없으니 그것만 따로 기억해주고, 진짜 일일히 한다.#기억할 문법 #내 오답코드#정답코드from collections import dequedef solution(bridge_length, weight, truck_weights): answer = 0 # 0으로 채워진 다리를 나타내는 큐 bridge = deque([0] * bridge_length) truck..
난이도: Lv.2유형: 큐, 스택해결 여부: 틀림내가 생각했던 아이디어/큰 가닥이전 값에 대응하는 DP로 풀어야 하나? 아니면 역순 적용? 고민은 많이했는데 결국 다음 수에 뭐가 나올지 알수 없어 포기하고 답봤다. 오답 이유해답스택을 활용해서 현재시간을 인덱스에 넣는다. 그리고 매번 해당 스택을 확인하는데 애초에 넣을지 말지 고민하는 시점에서 스택을 정렬시키게 된다.#기억할 문법 #내 오답코드#적어놓은게 날라갔다. #정답코드def solution(prices): n = len(prices) # 정답 배열을 0으로 초기화 answer = [0] * n # 인덱스(시간)를 담을 스택 stack = [] for i in range(n): # 스택이 비어있지 않고, ..
난이도: Lv.2유형: 힙해결 여부: 정답내가 생각했던 아이디어/큰 가닥최솟값을 지속적으로 조회해야 하니 heap을 써야겠다 싶었다. 예외 처리 생각안해서 분명 정답 누르면 뭐 틀릴거라 생각했는데 정확도 효율성 둘다 통과했다. 오답 이유해답정답이었다. 다만 all() 쓸필요 없이 while 조건을 달아서 바로 최솟값 해결되게 만들었다.#기억할 문법 result=all( h0 >= K for h0 in h)이런식으로 연속된 자료형 안에 모든 것이 충족하는지 all()을 통해 알 수 있다.heapq.heapify(scoville)heapify 로 한번에 기존 배열을 힙에 넣을 수 있다.#내 정답코드#계속 최솟값 찾아야 하므로. 빼고, 최소힙에 넣고 반복하기 import heapqdef solution(sco..