[코드트리] 행복한 수열의 개수
·
Coding Test/Problem Solving
코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 1. 구현 아이디어간단한 완전탐색 문제이다. 한 행씩 순회하면서 동일한 원소를 의미하는 target 변수를 만든다.최초에는 그 값을 0번째 원소로 두고, 다음 원소와 비교하며 만약에 같다면 동일한 원소가 몇 번 나왔는지를 세는 변수인 cnt를 1 증가시켜준다.만약 다르다면, 해당 원소를 target으로 갱신하고, cnt는 1로 초기화해준 뒤 다음 원소와 비교해준다. cnt가 m 이상일 경우 해당 행은 행복한 수열이므로 행복한 수열의 개수를 세는 변수 ret을 1 증가시켜준다. 이번 문제나 백준 14890번 ..
[Programmers] 석유 시추
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 구현 아이디어 1 - 시간 초과1. BFS를 사용하여 '각 칸을 시작점으로 했을 때 얻을 수 있는 석유량'을 구한다.2. 1번에서 구한 석유량을 더하여 '해당 열에서 얻을 수 있는 석유량'을 구한다.3. 2번에서 구한 석유량끼리 비교하여 '얻을 수 있는 가장 많은 석유량'을 구한다. #include #include using namespace std;typedef vector> vvb;int dx[4] = {-1, 0, 1, 0};int dy[4] = {0, 1, 0, -1};int solution(vect..
[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..
짱정연
'Coding Test' 카테고리의 글 목록 (2 Page)