본문 바로가기

Develop4

오늘의 문제 2) 귤 고르기 - 푸는 중(런타임 에러) https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #1 런타임 에러 def solution(k, tangerine): cnt = [] for i in range(len(tangerine)): cnt.append([i,0]) for i in tangerine: cnt[i][1] += 1 #cnt[i][1] 순으로 정렬 cnt.sort(key = lambda x:-x[1]) answer = 0 tmp = 0 for i in range(len(cnt.. 2024. 4. 1.
오늘의 문제 1) 성격 유형 검사하기 https://school.programmers.co.kr/learn/courses/30/lessons/118666 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(survey, choices): n = len(survey) ty = ['R', 'T', 'C', 'F', 'J', 'M', 'A','N'] ty_idx = [0]*9 for i in range(n): if choices[i] > 4: idx = ty.index(survey[i][1]) ty_idx[idx+1] += (choices[i]-4) elif choices[i] .. 2024. 4. 1.
1. BFS 참고 유튜브 더보기 https://youtu.be/ansd5B27uJM?si=4KO_9l65DvV9ju1w 그래프 탐색 어떤 것들이 연속해서 이어질 때 모두 확인하는 방법 모두 확인 BFS / DFS BFS 너비 -- 자기 자식을 우선으로. 자기 자식 다 보고 자식의 자식에게 넘어감 DFS 깊이 -- 자식의 자식을 우선으로. 자기 - 자식 - 자식의 자식 --- 그 다음 자식 --- BFS 1 2 5 3 4 6 DFS 1 2 3 4 6 5 BFS를 어떻게 구현할까?? 연결된 간선 찾아서 큐에 저장 큐의 가장 먼저 것 뽑아서 반복 큐 1 2 3 들어오면 파이프처럼 나와서 1 2 3 순서대로 나감 스택 한쪽이 막힌 자료구조 들어오 ㄴ곳으로 나감 1 2 3 들어옴 3 2 1 나감 왜 BFS에서 큐를 사용하는가.. 2024. 3. 25.
DFS BFS 내맘대로 풀어보기 (BOJ 1260) https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net DFS 깊이 우선 탐색 왜 쓰는가? 모든 노드를 방문해야 하는 경우에. (방문 노드를 저장해서 다시 가지 않기 때문) 길 찾기. 미로 문제 사이클의 존재 여부를 확인할 때 Depth -> 그냥 deep이라고 외움. 딥하게 들어가는 느낌 어떻게 구현하나? 주로 재귀와 stack을 이용한다 재귀는 간단한데 시간복잡도가 큰 듯하다. (지금까지 풀었을 때의 생각) 시.. 2024. 3. 23.