본문 바로가기

공부/오늘의 코딩

[이중큐] 최대 힙 & 최소 힙 보호되어 있는 글입니다.
[우선순위큐] 프로그래머스 디스크 컨트롤러 1. 문제 요약 - 일정 Job을 수행하는 디스크 컨트롤러 1개가 있을 때, Job 정렬을 최적화했을 때 나오는 min(평균 소요 시간) 구해라 2. 문제 풀이 문제 풀이는 중심 개념과 전체 구조를 이해하려고 해보려고 함 (1) 기본 원리 ! Job 길이가 제일 짧은 것부터 실행하는 것이 최적화 방법임 ! Job이 실행될 동안 들어온 Job은 "대기큐" 또는 "실행큐"에 넣어둠(*일종의 Wait) *실행큐인 경우는, 작업 실행 동안 새로 들어온 Job 없을 경우 그냥 실행될 Job을 저장한 큐로 취급 (2) 전체 구조 //part1. 필요 자료구조 - 시작시작 빠른 순으로 정렬 → Jobs('input' 주어짐) - 우선순위 큐(min) 선언 → Job 대기용 - 현재 Job 처리 끝난 시점 → end ..
[검색 알고리즘] 띄어쓰기 포함된 문자 보호되어 있는 글입니다.
[뒤집기] 1439번, 최소 뒤집기 구하기(2) 1. 문제 요약 /* * 문제 : 0과 1로 이뤄진 문자열에서 전부 0 또는 1로 바꾸는 상황 * 조건 - 0이나 1 둘중 하나로만 이뤄진 문자열로 변환 - 뒤집기 연산도 0 또는 1 둘 중 하나로 수행됨 - 문자열 길이는 100만이 최대 * 출력 : 뒤집은 횟수 출력 */ 2. 풀이 (1) 0 또는 1로 이뤄진 집합 개수가 몇 개냐 순차 순회를 하면서, 연속적으로 나타나면 카운트 수를 늘리지 않음. "0->1, 1->0으로 변환된 지점 수를 셈" (2) 변수 inver_last 역할 문자열 마지막 지점에 이전과 다른 값 하나가 나올 경우 카운트가 하나 덜 이뤄지는 문제점. 그래서 마지막 지점과 inverse 지점이 하나 더 있는 것으로 알려줌. 3. 다른 사람의 잘난 코드 (1) "달라지는 구간 개수/..