[목차]310 <sort> 오름차순, 내림차순으로 정렬하자 sort() 함수는 algorithm 헤더에 포함되어 있다. 대부분 코딩테스트에서 웬만해선 처음부터 끝까지 정렬을 한 후 문제를 풀게끔 되어 있는 경우가 많다. 이럴때 sort() 함수가 매우 유용하다. 벡터, 문자열, 배열 모두 sort() 함수를 이용하여 풀 수 있다. 벡터를 모두 정렬할 때는 sort(v.begin(), v.end()) 문자열을 모두 정렬할 때도 동일하다. 배열을 모두 정렬할 때는 sort(arr, arr+10) 라고 정의 할 수 있다. 배열에서 10의 의미는 처음부터 10개를 정렬하라는 의미이다. 즉, 10이 아니라 5이면 처음부터 5개를 정렬하라는 의미이다. 다음 코드를 한번 살펴보고 꼭 외우도록 한다. #include using namespace std; int main() {.. 기타/C++ 문법 2022. 1. 14. [Level_1] 이상한 문자 만들기 * 연습문제는 설명생략 #include #include using namespace std; string solution(string s) { string answer = ""; int index =0; for(int i=0; i 카테고리 없음 2022. 1. 14. [Level_1] 짝수와 홀수 * 연습문제는 설명생략 #include #include using namespace std; string solution(int num) { string answer = ""; if(num%2) answer="Odd"; else answer="Even"; return answer; } 코딩테스트 연습 - 짝수와 홀수 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" programmers.co.kr 카테고리 없음 2022. 1. 14. [Level_1] 콜라츠 추측 * 연습문제는 설명생략 #include #include using namespace std; int solution(int num) { int answer = 0; int n = 500; long long x = num; int cnt = 0; while (1) { if(cnt==500)return -1; if (x == 1) return cnt; if (x % 2 == 0)x = x / 2; else x = x * 3 + 1; cnt++; } if (n==0)return -1; return answer; } 코딩테스트 연습 - 콜라츠 추측 1937년 Collatz란 사람에 의해 제기된 이 추측은, 주어진 수가 1이 될때까지 다음 작업을 반복하면, 모든 수를 1로 만들 수 있다는 추측입니다. 작업은 다음.. 카테고리 없음 2022. 1. 14. [백준 2109번 / C++] 순회강연 처음에 이 문제를 접근할 때 이런식으로 접근 하였다. #include #include #include using namespace std; int check[10001]; int sum; bool cmp(pairp1, pairp2) { return p1.first > p2.first; } int main() { int n; cin >> n; int p, d; vector v; for (int i = 0; i > p >> d; v.push_back({ p,d }); } sort(v.begin(), v.end(), cmp); //p값의 내림차순 for (int i = 0; i < n; i++) { int index = v[i].second; if (check[index] == .. 백준/그리디 2022. 1. 14. [신입 개발자 기술 면접] 데이터베이스 데이터베이스 언어(DDL, DML, DCL)에 대해 설명해주세요. 데이터 정의 언어(Data Definition Language, DDL): 데이터베이스의 구조를 정의하거나 변경하는 데 사용되는 명령어입니다. 주요 DDL 명령어는 다음과 같습니다. CREATE: 데이터베이스, 테이블, 인덱스 등의 객체를 생성합니다. ALTER: 데이터베이스 객체의 구조를 변경합니다. 예를 들어, 테이블에 새로운 열을 추가하거나 제거하는 작업이 포함됩니다. DROP: 데이터베이스 객체를 삭제합니다. TRUNCATE: 테이블의 모든 데이터를 삭제하고 초기 상태로 되돌립니다. 데이터 조작 언어(Data Manipulation Language, DML): 데이터베이스의 데이터를 검색, 추가, 수정, 삭제하는 데 사용되는 명령어.. 기타/기술 면접 대비 2022. 1. 14. [백준 2589번 / C++] 보물섬 완전 탐색 문제이다. 먼저 map이 [3][4] 배열로 주어진다면 {0,0} ~ {2,3} 까지 총 12개의 좌표값을 하나하나 현위치로 판단해서 갈 수 있는 최대 거리를 구하라는 것이다. 즉, bfs() 를 활용해서 현위치에서 바다가 아닌 육지로 갈 수 있는 거리를 계속해서 갱신하고 최댓값을 구해나가는 것이다. map[3][4]가 주어진다고 가정을 하고, "W = 0 , L = 1" 라고 보기 쉽게 숫자로 표현하였다. 그리고 map 크기만큼 check 라는 배열을 생성 해준다. 먼저 {0,3} 지점을 먼저 살펴보자. 다음 그림을 보면 현위치에서 갈 수 있는 길이 있을 때마다 숫자를 갱신해나간다. 모든 맵을 다 살펴보고 나면 최댓값이 3이라는 것을 알 수 있다. 그렇기 때문에 result라는 표에서 {0,.. 백준/완전 탐색 2022. 1. 14. [백준 2468번 / C++] 안전 영역 DFS를 활용한 문제이다. N은 2이상 100이하이며 각 지역의 높이는 1이상 100이하 인것을 알아두자. 먼저 지역의 높이를 나타내는 map을 입력 받고 check라는 배열도 h값이 변할 때마다 생성해주자. 각 지역은 1부터 100이하이니 비가 차오른 높이도 그렇게 생각할 수 있지만 비가 아예 안 올 경우도 생각 해야한다. 그러니, h의 범위는 0부터 100이라는 것을 주의하자. 해당 그림을 보면서 어떻게 구현을 하였는지 확인하고 코드 주석을 보면서 이해해보자. #include #include #include using namespace std; int map[100][100], check[100][100], n; int answer = INT_MIN; int dx[4] = { 0,0,1,-1 }; i.. 백준/DFS BFS 2022. 1. 14. [백준 2559번 / C++ ] 수열 누적합 문제이다. start 포인트와 end 포인트를 둬서 투포인트로 풀어도 된다. 하지만 이 방법은 여기서 최적의 풀이법은 아니다. #include #include #include #include using namespace std; int answer = INT_MIN; int main() { int start, end, n, k, sum = 0; cin >> n >> k; start = 0; end = k - 1; vector v(n); for (int i = 0; i > v[i]; for (int i = 0; i > k; for (int i = 1; i > temp; sum[i] = sum[i - 1] + temp; } for (int i = k; i 백준/구현 2022. 1. 14. [백준 19942번/ C++] 다이어트 해당 문제는 map과 비트마스킹을 이용해서 풀면된다. 조건에서 N은 3이상 15이하라고 하였으니 N이 5일때를 가정하고 한번 풀어보자. N이 5라는 것은 데이터가 들어있는 표의 개수가 총 5개라는 뜻이다. 해당 문제는 각 표의 데이터값을 하나하나 다 더해서 조건식을 만족하는지 체크를 하는것이다. 그렇기 때문에 비트마스킹을 활용하는것이다. N이 5라면 비트는 5개지만 나타낼수 있는 수는 총 2^5개가 만들어진다. 예를 들어 00001, 00010, 00011, ... , 11110, 11111 이런것이 만들어질텐데 비트가 1인것은 각 표의 튜플(행)을 보라는 뜻이다. 즉, 00101 이라면 첫번째 데이터값과 세번째 데이터값들을 더해서 각 영양분이 최소 영양성분이 되냐를 따지면 된다. 만약 11111 이라면.. 백준/비트마스킹 2022. 1. 13. 이전 1 ··· 27 28 29 30 31 다음 반응형