본문 바로가기
반응형

c++6

[2019 카카오 개발자 겨울 인턴십] 징검다리 건너기(C++) 문제 제목 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 문제 설명 - 카카오 초등학교의 "니니즈 친구들"이 "라이언" 선생님과 징검다리를 건너려 한다. - "라이언" 선생님은 징검다리를 무사히 건너기 위해 다음과 같은 규칙을 만들었다. 징검다리는 일렬로 놓여 있고 각 징검다리의 디딤돌에는 모두 숫자가 적혀 있으며 디딤돌의 숫자는 한 번 밟을 때마다 1씩 줄어듭니다. 디딤돌의 숫자가 0이 되면 더 이상 밟을 수 없으며 이때는 그 다음 디딤돌로 한번에 여러 칸을 건너 뛸 수 있습니다. 단, 다음으로 밟을 수 있는 디딤돌이 여러 개인 경우 무조건 가장 가까운 디딤돌로만 건너뛸 수 있습니다. - "니니즈 친구들"은 한 번에 한.. 2020. 12. 5.
[2019 카카오 개발자 겨울 인턴십] 호텔 방 배정(C++) 호텔 방 배정 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 문제 설명 - "스노우 타운"에서 호텔을 운영하고 있는 "스카피"는 고객들에게 방을 배정하려 한다. - 호텔 방은 총 K개가 존재하며, 1번 ~ K번까지 번호로 구분하고 있다. - 처음에는 모든 방이 비어 있다. - 방 배정 규칙은 다음과 같다. 한 번에 한 명씩 신청한 순서대로 방을 배정합니다. 고객은 투숙하기 원하는 방 번호를 제출합니다. 고객이 원하는 방이 비어 있다면 즉시 배정합니다. 고객이 원하는 방이 이미 배정되어 있으면 원하는 방보다 번호가 크면서 비어있는 방 중 가장 번호가 작은 방을 배정합니다. - 고객이 원하는 방 번호가 순서대로 들어왔을 때 각 고객에게 배정되는 방 번호를 순서대로 배열에 담아 return.. 2020. 12. 5.
탐색 알고리즘 - 이분 탐색(Binary Search) 이분 탐색(Binary Search) 이분 탐색이란? - 정렬되어 있는 데이터에서 원하는 값을 찾을 때 효율적으로 사용할 수 있는 알고리즘이다. - 순차 탐색 보다 훨씬 좋은 성능을 보인다. - n개의 데이터가 주어지면 O(logn)의 시간복잡도를 가진다. - 데이터를 절반씩 나누어 가며 탐색한다. 이분 탐색 과정 - 1. 데이터의 중앙 값과 찾는 값을 비교한다. - 2-1. 찾는 값 > 중앙 값인 경우 중앙 값의 오른쪽 부분을 탐색한다. 2-2. 찾는 값 Right위치가.. 2020. 6. 22.
[C++/STL] 큐(Queue), 우선순위 큐(Priority Queue) 1. 큐(Queue) 큐(Queue) 란? - FIFO(First In Fisrt Out) 자료구조 - 가장 먼저 넣었던 데이터를 사용할 때 이용한다. 큐 사용 방법 - 큐 선언 // 헤더 선언 필요 #include // int 자료형을 저장하는 큐 선언 queue q; - 원소 추가 // 원소 n 삽입 q.push(n); - 맨 처음 원소 제거 // 맨 처음 원소 제거 q.pop(); - 맨 처음 원소 조회 // 맨 처음 원소 조회 q.front(); - 기타 // 큐이 비어있는지 확인 // 원소가 없으면 true, 원소가 있으면 false 반환 q.empty(); // 큐의 크기(원소의 개수) 조회 q.size(); 2. 우선순위 큐(Priority Queue) 우선순위 큐(Priority Queue.. 2020. 6. 7.
반응형