본문 바로가기

코딩테스트 대비

(8)
백준 정렬 문제집 백준 2751 수 정렬하기 2 //중복된 값 제거 정렬하고 중복된 값들을 뒤로보내고 뒤에 있는애들 지워버리는 컨셉 sort(vec.begin(), vec.end()); vec.erase(unique(vec.begin(), vec.end()),vec.end()); #include #include #include using namespace std; vector vec; int main(){ int N; cin >> N; for(int i=0; i> tmp; vec.push_back(tmp); } sort(vec.begin(), vec.end()); vec.erase(unique(vec.begin(), vec.end()),vec.end()); for(int i=0; i
[프로그래머스 c++] 최소직사각형 #include #include #include #include using namespace std; int solution(vector sizes) { int max_w = 0; int max_h = 0; for(int i=0; i
[프로그래머스 c++] 같은 숫자는 싫어 level1 문제 https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 프로세스 1. 왼쪽에 인접한 값과 비교해서 다른 경우에만 answer 배열에 추가 #include #include using namespace std; vector solution(vector arr) { vector answer; answer.push_back(arr[0]); for(int i=1; i
[프로그래머스 c++] 구명보트 구명보트 문제 ㄴㅇㄱ 그리디 탐욕법 쓰라는데 걍 알고리즘 찾는 느낌인거같은데 뭔지도 이해가 안된다 진짜; 입력 값 vector people, int limint 출력 값 int answer 프로세스 1. people 배열 오름차순으로 정렬하기 2. 최대값과 최소값의 합이 limit값보다 작거나 같으면 answer 값 하나씩 감소 풀이 #include #include #include #include using namespace std; int solution(vector people, int limit) { int answer = people.size(); int min = 0; sort(people.begin(), people.end()); for(int i=people.size()-1; i>min; i..
[c++] 소수점 자릿수 출력하기 / [Softeer] 성적평균 문제 풀이 소수점 두번째 자리까지 반올림해서 출력해야하는 문제 출력 cout 사용 전에 cout n >> k; for(int i=0; i> arr[i]; } int start, end; for(int i=0; i> start >> end; double sum =0; for(int j=start-1; j
평범한 배낭 문제 https://www.acmicpc.net/problem/12865​​ 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net https://chanhuiseok.github.io/posts/improve-6/ [알고리즘 트레이닝] 5장 - 동적계획법과 냅색(Knapsack) (백준 12865번 평범한 배낭 문제로 살펴보기) 컴퓨터/IT/알고리즘 정리 블로그 chanhuiseok.github.io #include #include #define max_s..
[프로그래머스 Lv.1] 3진법 뒤집기 문제 설명 문제 해설 1. n을 3진법으로 만드는 과정에서 뒤집은 값을 v에 저장 n%3값을 저장 ex ) 45%3=0, 45/3=15 15%3=0, 15/3=5 5%3=2, 5/3=1 1%3=1, 1/3=0 3진수 n 1200 뒤집은 3진수 n(new_n)은 0021 배열에 저장 v.push_back(n%3); while(n>0){ v.push_back(n%3); n=n/3; } 3. 뒤집은 new 10진수로 만들기 pow(제곱할 수, 승수)를 아는지가 가장 중요한 포인터였던것 같다 ㅠㅅㅠ (난 몰랐음) sqrt랑 세트로 알아두기!!!! #include #include #include #include using namespace std; int solution(int n) { int answer = 0..
[프로그래머스 Lv.1] 약수의 개수와 덧셈 문제 설명 문제 풀이 sqrt(수) 함수를 쓰기 위해서는 c에서는 c++에서는 include가 필요하다. #include #include #include #include using namespace std; int solution(int left, int right) { int answer = 0; int cnt = right-left+1; for(int val=left; val