[Programmers] 광물 캐기
·
Coding Test/Problem Solving
https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 문제 설명 작업을 끝내기까지 필요한 최소한의 피로도를 구해야 한다.작업을 끝내는 것은 1) 모든 광물을 캐거나, 2) 더 사용할 곡괭이가 없을 때까지이다.곡괭이 하나를 선택하면 광물 5개를 연속으로 캘 수 있다.2. 구현 아이디어 1 - 틀렸습니다곡괭이 하나를 선택하면 광물 5개를 연속을 캘 수 있다고 했으니, 주어진 minerals 배열을 5개씩 나누어 생각해보았다.글자색을 다르게 하여 각 ..
[Programmers] 호텔 대실
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   1. 구현 아이디어 1 - 틀렸습니다백준 1931번 회의실 배정 문제나 저번에 포스팅한 과제 진행하기 문제와 비슷한 그리디 알고리즘 유형이다. 이전에 풀었던 기억을 되살려 아래에 적은 순서대로 풀었다.1. 끝나는 시간을 기준으로 book_time을 정렬한다2. 필요한 객실의 수를 관리하는 벡터 rooms를 만든다3. book_time에 있는 원소(elem)들을 순회하며 rooms에 있는 원소(room=rooms[i])와 비교한다 (2중 반복문)   3-1. 만약 elem의 시작하는 시간 >= room의 끝나는..
[Programmers] 유사 칸토어 비트열
·
Coding Test/Problem Solving
프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr1. 문제 설명0번째 유사 칸토어 비트열은 "1"n번째 유사 칸토어 비트열은 n-1번째 유사 칸토어 비트열에서1을 11011로 치환0을 00000로 치환n, l, r이 주어졌을 때 n번째 유사 칸토열에서 [l, r] 구간에서의 1의 개수를 반환해야 한다.  더 자세한 문제 설명이 필요하다면 위 링크 참고 ... 2. 구현 아이디어1 - 틀렸습니다처음에 백준 4779번 칸토어 집합 문제가 떠올라서 재귀를 사용해서 문제에 주어진 내용을 그대로 구현하였다.#include using namespace std;typedef..
코딩테스트 전에 빠르게 볼 내용 정리
·
Coding Test
0. 같이 읽으면 좋은 글 [C++] 삼성 SW 역량 테스트 보기 전 알고리즘 정리1. 입출력 시간 단축ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);C++ 표준 스트림과 C 표준 스트림의 동기화를 끈다endl 대신 "\n"을 사용하기 2. 순열 (next_permutation)서로 다른 n개의 원소에서 r개를 뽑leeeeeyeon-dev.tistory.com 1. 문제 접근 순서기본적인 문제 접근 순서: 완전 탐색 → DP → 그리디1초에 약 2000만번 연산 → 제한시간 내에 연산 몇 번 수행될지 확인하자그리디는 거의 정렬 + 우선순위 큐로 풀이특정 기준에 따라 sort → 우선순위 큐에 넣기입력값이 매우 크다? → 이분탐색 고려하기0또는 1로 ..
[코드트리] 행복한 수열의 개수
·
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..
짱정연
짱정연의 짱개발자 도전기