본문 바로가기

cpp450

[백준] 1026번 : 보물 (C++) 1026번 : 보물 문제 ) 옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다. 길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다. S의 최솟값을 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거나 같은 음이 아닌 정수이다. 출력 : 첫째 줄에.. 2023. 2. 5.
[백준] 3049번 : 다각형의 대각선 (C++) 3049번 : 다각형의 대각선 문제 ) 세 대각선이 한 점에서 만나지 않는 볼록 N각형이 주어졌을 때, 대각선의 교차점의 개수를 세는 프로그램을 작성하시오. 아래 그림은 위의 조건을 만족하는 한 육각형의 교차점 그림이다. 모든 내부각이 180도보다 작은 다각형을 볼록 다각형이라고 한다. 입력 : 첫째 줄에 N이 주어진다. (3 ≤ N ≤ 100) 출력 : 첫째 줄에 교차점의 개수를 출력한다. 풀이) 왜 식이 이렇게 나오는지는 다음 링크를 참고하면 좋을 듯 하다. https://www.acmicpc.net/board/view/3039 글 읽기 - 3049번 문제 이 식이 어떻게 세워진거죠? 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 1 2 3 4 5 6 7 8 9 10 11 12 1.. 2023. 2. 5.
[백준] 10867번 : 중복 빼고 정렬하기 (C++) 10867번 : 중복 빼고 정렬하기 문제 ) N개의 정수가 주어진다. 이때, N개의 정수를 오름차순으로 정렬하는 프로그램을 작성하시오. 같은 정수는 한 번만 출력한다. 입력 : 첫째 줄에 수의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째에는 숫자가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 출력 : 첫째 줄에 수를 오름차순으로 정렬한 결과를 출력한다. 이때, 같은 수는 한 번만 출력한다. 풀이) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include using namespace std; int main() { int n, a; cin >> n.. 2023. 2. 5.
[백준] 5524번 : 입실 관리 (C++) 5524번 : 입실 관리 문제 ) JOI회사에서는 방에 들어가기 위해 입실 기록을 입력할 때 알파벳으로 이름을 입력한다. 그런데, 컴퓨터에 오류가 나서 대문자 소문자가 섞여버려 입실 기록이 읽기 힘들어졌다. JOI회사의 입실 기록을 읽기 쉽게 하기 위해서 기록된 이름을 모두 소문자로 변환하는 프로그램을 작성하라. 단, 입실 기록에는 같은 이름의 사람이 생기기도 한다. 입력 : 첫째 줄에는 정수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄부터는 1글자 이상 20문자 이하의 영어 대문자, 소문자로만 이루어지는 문자열 Si가 주어진다. 출력 : i번째 줄에, i번째 입실자의 이름을 소문자로 출력한다. 서브태스크 : 풀이) STL의 transform을 사용하면 조금은 쉽게 풀 수 있다. 해당 메소드는 1, .. 2023. 2. 5.