본문 바로가기

c++4

[프로그래머스] C++ 디스크 컨트롤러 문제 : https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr 풀이 : 디스크 스케줄링하는 문제였다. input으로 [[0,3], [1, 9], [2, 6]] (요청 시간, 작업 소요 시간)이 주어졌을때 이들을 가장 짧게 작업을 끝내는 시간 / 3 하여 평균 시간을 구해주는 문제였다. 우선은 작업 소요 시간이 짧은 것을 먼저 처리하기 위해서 우선순위큐를 사용했다. 작업은 요청시간이 짧은 순으로 sorting .. 2022. 4. 22.
[백준] 3020 개똥벌레 prefix sum(누적합) 문제 : https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 분석 : 1. 석순과 종유석의 구분은 짝수인지 홀수인지다. 따라서 개똥벌레가 높이 1인 곳을 지난다면 종유석은 1인 높이, 석순은 H -1 인 높이를 동시에 지난다고 생각하면 된다. 2. 석순끼리의 (또는 종유석끼리의) 순서 바뀜은 상관이 없다. 개똥벌레는 N 길이를 통과하야 하기 때문이다. 석순의 길이만큼 가진 석순 개수를 배열에 저장한다. (종유석도 똑같다) 3. 높이가 H일때 개똥벌레는.. 2022. 2. 21.
[프로그래머스] 표편집 2021 카카오 인턴십 STL(set) 문제 : https://programmers.co.kr/learn/courses/30/lessons/81303 코딩테스트 연습 - 표 편집 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z"] "OOOOXOOO" 8 2 ["D 2","C","U 3","C","D 4","C","U 2","Z","Z","U 1","C"] "OOXOXOOO" programmers.co.kr 분석 : 주어진 표 정보를 벡터에 담아 erase, insert등 기본 STL 방식으로 접근했었다. 테스트 케이스는 맞았으나 정확성 테스트, 효율성 테스트에서 segmentation fault 에러를 받았고 벡터 공간을 지우고 다시 삽입하는 과정에서 인덱스 범위를 넘어서는 것 같은 오류를 범한거 같다. .. 2021. 9. 9.
[프로그래머스] 거리두기 확인하기 2021 카카오 인턴십 DFS 문제 : https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX", "OXOXP", "OXPOX", "OXXOP", "PXPOX"], ["OOOXX", "XOOOX", "OOOXX", "OXOOX", "OOOOO"], ["PXPXP", "XPXPX", "PXPXP", "XPXPX", "PXPXP"]] [1, 0, 1, 1, 1] programmers.co.kr 분석 : 크기는 5X5 배열 예를 들어 입력이 2차원 배열로 주어질 때 P는 사람.. 2021. 9. 5.