본문 바로가기

Algorithm/c++10

[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.