Algorithm18 [c++/백준 10825] 국영수 문제 도현이네 반 학생 N명의 이름과 국어, 영어, 수학 점수가 주어진다. 이때, 다음과 같은 조건으로 학생의 성적을 정렬하는 프로그램을 작성하시오. 국어 점수가 감소하는 순서로 국어 점수가 같으면 영어 점수가 증가하는 순서로 국어 점수와 영어 점수가 같으면 수학 점수가 감소하는 순서로 모든 점수가 같으면 이름이 사전 순으로 증가하는 순서로 (단, 아스키 코드에서 대문자는 소문자보다 작으므로 사전순으로 앞에 온다.) 접근 국어와 수학은 내림차순, 영어와 이름은 오름차순 정렬이다. sort는 기본으로 오름차순 정렬이니 국어와 수학점수에 -1을 곱하여 벡터에 넣어 정렬해준다. 점수와 이름을 서로 다른 벡터에 넣는다. 점수는 국, 영, 수 순서로 넣는다. 이름을 먼저 오름차순으로 정렬하고, 점수를 담은 벡터에.. 2023. 1. 9. [c++/백준 10814] 나이순 정렬 문제 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. 접근 정수형 변수를 만들어 회원의 수를 입력받는다. 회원의 정보를 담을 벡터를 만든다. 회원의 수만큼 반복하여 그들의 나이와 이름을 pair로 하여 벡터에 담는다. 나이로만 정렬하여 출력한다. 코드 #include #include #include #include using namespace std; bool compare(paira, pairb){ return a.first > n; vector v; whil.. 2023. 1. 7. [c++/백준 11650] 좌표 정렬하기 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작성하시오. 접근 점의 개수, 점의 x좌표, y좌표를 받을 정수형 변수 3개를 만든다. 점의 위치를 저장할 벡터를 만든다. 점의 개수만큼 반복하며 점의 x, y 좌표를 한쌍으로 하여 벡터에 저장한다. 증가하는 순으로 정렬이면 오름차순이니 벡터를 sort함수를 이용하여 정렬해 출력한다. 코드 #include #include #include #include using namespace std; int main() { int n, x, y; cin >> n; vector v; while(n--){ cin >>x>>y; v.push_back(make_pair(x.. 2023. 1. 7. [c++/백준 11931] 수 정렬하기 4 문제 N개의 수가 주어졌을 때, 이를 내림차순으로 정렬하는 프로그램을 작성하시오. 접근 정수형 변수를 만들어 N을 입력받는다. N번만큼 수를 벡터 또는 큐에 입력받아 정렬시킨 후 모두 출력한다. 무슨 방법으로 코드를 짜면 좋을까 고민이 많았다. 우선순위 큐를 이용하여 입력하는 족족 정렬되게 하기, 벡터를 이용하여 모든 수를 다 받은 다음에 sort함수로 정렬하기. 벡터를 이용한다면 모든 수에 -1을 곱하여 벡터에 입력받아 정렬한 다음에 -1을 곱하며 출력하기, 또는 정렬한 다음에 거꾸로 뒤집기. 벡터에서는 출력할 때 인덱스를 이용하거나 반복자, 또는 역반복자를 이용하여 출력하기.. 이것저것 작성해본 결과, 초보인 나에게 쉬우면서도 빠른 코드는 아래와 같다. 코드 #include #include #incl.. 2023. 1. 7. [c++/백준 9086] 문자열 문제 문자열을 입력으로 주면 문자열의 첫 글자와 마지막 글자를 출력하는 프로그램을 작성하시오. 접근 정수형 변수를 만들어 테스트 케이스의 개수를 입력받는다. 문자열형 변수를 만든다. 테스트 케이스의 개수만큼 반복하며 문자열형 변수에 입력받고, 문자열의 처음 인덱스에 있는 글자와 마지막 인덱스에 있는 글자를 출력한다. 코드 #include using namespace std; int main() { int t; cin >> t; string word; while(t--){ cin >> word; cout 2023. 1. 6. [c++/백준 2743]단어길이재기 문제 알파벳으로만 이루어진 단어를 입력받아, 그 길이를 출력하는 프로그램을 작성하시오. 접근 빈 문자열을 만들어 입력받는다. 문자열의 길이를 알려주는 함수를 이용하여 그 길이를 출력한다. 코드 #include using namespace std; int main() { string word; cin >> word; cout > x; (변수 x에 입력한 값을 할당한다.) 출력할 때는 cout 2023. 1. 5. 이전 1 2 3 다음