본문 바로가기
728x90
반응형

시간 복잡도10

[프로그래머스/Python] Lv.2 피로도 문제: https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  사용 알고리즘: 완전 탐색  제한사항K 는 1 이상 5,000 이하인 자연수dungeons 의 던전 개수는 1 이상 8 이하dungeons 의 각 행은 각 던전의 [최소 필요 피로도, 소모 피로도]최소 필요 피로도는 항상 소모 피로도보다 크거나 같음최소 필요 피로도와 소모 피로도는 1 이상 1,000 이하인 자연수서로 다른 던전의 [최소 필요 피로도, 소모 피로도]가 서로 같을 수 있음 입출.. 2024. 8. 20.
[알고리즘] 이진 탐색(Binary Search) 이진 탐색 알고리즘(binary search algorithm)은 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다.  처음에 중간의 값을 임의의 값으로 선택하여 그 값과 찾고자 하는 값의 크고 작음을 비교하여 찾고자 하는 값을 찾아간다. 처음 선택한 중앙값이 만약 찾는 값보다 크면 그 값은 새로운 최댓값이 되며, 작으면 그 값은 새로운 최솟값이 된다.   이제 이진 탐색 맛보기를 해보자! 단어가 아주 많이 있는 영어사전에서 Program 이라는 단어를 찾는다고 가정해보자. 단, P 로 시작하는 단어의 첫 페이지로 가지 않고, 사전을 펼치는 작업을 반복해서 찾아보자. 물론, 펼치는 횟수가 적을 수록 좋다. 어떤 페이지를 펼치는 것이 좋을까?가장 좋은 방법은 전체 페이지의 반이 되는 페이.. 2024. 8. 18.
[프로그래머스/Python] 달리기 경주 문제: https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  사용 알고리즘: 없음 -> 구현  제한 사항5 players[i] 는 i 번째 선수 이름 의미players 의 원소들은 알파벳 소문자로만 이루어짐players 에는 중복된 값 x3 2 callings 는 players 의 원소들로만 이루어져 있음경주 진행중 1응인 선수의 이름은 불리지 않음 callings 의 길이 만큼 돌면서 매 턴마다 index 나 find 함수를 사용해서 구현한다고 하.. 2024. 8. 13.
[백준/Python] 2164 카드2 문제: https://www.acmicpc.net/problem/2164  사용 알고리즘: 덱  입력첫째 줄에 정수 N (1  N 장의 카드가 순서대로 쌓여있을 때, 카드가 한 장만 남을 때까지 아래의 동작을 반복1. 맨 위에 있는 카드 제거2. 제거되고 맨 위로 나온 카드를 맨 아래에 넣음 -> 앞뒤로 추가/제거가 가능하니 덱을 사용해 구현해야겠다  이 문제는 정말 문제대로만 구현하면 되는 간단한 문제였다.  대신 for 문을 N 회가 아닌 (N-1) 회 돌아야 한다. (덱에 카드가 1장 남았을 때 종료해야 하므로)d = deque(i for i in range(1,N+1)) # 덱에 1~N 번의 카드를 미리 넣음for i in range(1, N): d.popleft() # 맨 위 카드 제거 .. 2024. 8. 5.
728x90
반응형