[Programmers] 과제 진행하기
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 구현 아이디어먼저, 시간 순서에 따라 과제를 진행해야 하므로 plans 배열을 시작 시각 순으로 정렬한다.bool comp(vector a, vector b) { if (a[1]   입출력 예제에 있는 표를 통해 잠시 멈춘 과제를 스택으로 구현해야 한다는 힌트를 얻을 수 있었다. (최근에 멈춘 과제를 먼저 하므로, 선입후출) 이제 plans 배열을 돌며 진행 중인 과제가 끝나는 시각(endTime)과 다음 과제 시작 시각(nextStartTime)을 비교하며 스택 또는 answer 배열(과제를 끝낸 순..
[Programmers] 요격 시스템
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 구현 아이디어 1 - 정답입니다!입출력 예 설명에 나온 사진을 보고 백준 회의실 배정 문제가 떠올랐다.이번 문제도 접근 방법이 비슷하다. 먼저 끝점을 기준으로 배열을 정렬한다.변수 e를 사용하여 현재 끝점의 위치를 저장한다.targets 배열을 돌면서 시작점과 e를 비교하면서 필요한 미사일의 수를 구한다.만약 현재 구간의 시작점이 e보다 크거나 같다면, 미사일이 하나 더 필요하단 뜻이므로 answer을 1 더한다.끝점을 현재 구간의 끝점으로 갱신한다. 2. 전체 코드#include #include using..
[Programmers] 도넛과 막대 그래프
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명 2. 구현 아이디어 1 - 정답입니다!처음에는 Union-Find 알고리즘을 사용해서 사이클이나 parent를 구하여 푸는 방법을 생각했다.하지만 완전 탐색 없이 생성한 정점을 구하는 방법이 떠오르지 않아 다른 사람의 풀이를 참고하여 문제를 풀었다 ㅠ^ㅠ Key Point: 들어오는 간선과 나가는 간선의 수를 활용하자 의외로 쉬운 방법으로 문제를 풀 수 있던 것이였다 ...!! (오히려 그래프 알고리즘을 사용하면 시간 복잡도가 커진다) 생성한 정점, 도넛 모양 그래프의 수, 막대 모양 그래프의 수..
[C++] 삼성 SW 역량 테스트 보기 전 알고리즘 정리
·
Coding Test
1. 입출력 시간 단축ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);C++ 표준 스트림과 C 표준 스트림의 동기화를 끈다endl 대신 "\n"을 사용하기 2. 순열 (next_permutation)서로 다른 n개의 원소에서 r개를 뽑는다순서가 다르면 다른 경우로 판단algorithm 헤더의 next_permutation 함수를 사용오름차순으로 정렬된 값을 가진 컨테이너에만 사용 가능오름차순으로 순열 생성#include #include #include using namespace std;int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); vector v..
[BOJ 20058] 마법사 상어와 파이어스톰
·
Coding Test/Problem Solving
20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 맞았습니다!! 크게 3가지를 구현해야 한다. 모든 부분 격자를 시계 방향으로 90도 회전시킨다. 모든 칸을 순회하며 인접한 4칸 중 3칸 이상 얼음이 있지 않은 칸은 얼음의 양을 1 줄인다. 남아있는 얼음의 합과 남아있는 얼음 중 가장 큰 덩어리가 차지하는 칸의 개수를 구한다. 부분 격자 회전 이 부분은 혼자 떠올리기 어려워 다른 사람의 풀이를 참고하였다. 부분 격자이므로 회전시킬 배열의 시작 좌표가 ..
[BOJ 20056] 마법사 상어와 파이어볼
·
Coding Test/Problem Solving
20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 틀렸습니다 삼성 코테의 경우 최대 입력값이 매우 크지 않은 않을 때가 많아 문제에 나온 조건을 충실히 구현하면 된다. 명령 K번만큼 반복문을 수행하며 아래 작업을 진행하면 된다. 처음에는 2.3.1번과 2.3.2번에 적힌 기호가 무슨 뜻인지 몰랐는데 가우스 기호(= x보다 크지 않은 최대 정수)라는 것을 나중에 알았다 ...! 1번을 구현하면서 주황색 박스 친 내용을 주의하여야 한다..
짱정연
'Coding Test' 카테고리의 글 목록 (2 Page)