728x90 C++ 썸네일형 리스트형 [백준알고리즘] 2108번: 통계학 -C++ [백준알고리즘] 2108번: 통계학 -C++ 2108번: 통계학 (acmicpc.net) 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 그렇게 어렵게 풀 문제는 아니다. 실제로 구하라고 하는 값들을 계산하면 된다. 산술평균 산술평균을 구하기 위해서 입력 들어오는 모든 값을 우선 더해주었다. 이 더한 값을 입력이 들어오는 개수인 \(n\)으로 나눠주면 된다. 여기서 입력 값들의 합은 int의 범위를 넘어서기 때문에 int64_t (double)로 설정해주어서 오버플로우를 방지했다. 중앙값 중앙값을 구해주기 위해서는 우선 모든 수를 입력받은 뒤에.. 더보기 [백준알고리즘] 10989번: 수 정렬하기 3 -C++ [백준알고리즘] 10989번: 수 정렬하기 3 -C++ 10989번: 수 정렬하기 3 (acmicpc.net) 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 이번에는 지난 '수 정렬하기 2'에서 겪었던 시간 초과 잔혹사를 보내지 않기 위해서 처음부터 ostringstream을 사용해서 문제를 풀었다. 그런데 예상치 못한 문제들을 겪었다. 아래는 그때 고난을 겪었던 '수 정렬하기 2'의 링크이다. [백준알고리즘] 2751번: 수 정렬하기 2 -C++ (tistory.com) '수 정렬하기 2'와 달라진 점은 정렬할 수의 범위는 .. 더보기 [백준알고리즘] 2751번: 수 정렬하기 2 -C++ [백준알고리즘] 2751번: 수 정렬하기 2 -C++ 2751번: 수 정렬하기 2 (acmicpc.net) 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 와... 정말 많은 코드를 내서 겨우 통과했다... 그런데 알고 봤더니 로직은 다 맞았었다... 후... 오늘도 이렇게 삽질로 배웠다..! 그리고 특이한 점을 또 발견했다!! 우선, 예전에 파이썬으로 풀었던 풀이에 대한 링크다. 이때 역시 거만하군ㅋ 역시 간단하게 풀어놓기도 했다.. [백준알고리즘] 2751번: 수 정렬하기 2 -Python (.. 더보기 [백준알고리즘] 1436번: 영화감독 숌 -C++ [백준알고리즘] 1436번: 영화감독 숌 -C++ 1436번: 영화감독 숌 (acmicpc.net) 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 문제를 어떻게 풀어야할까 고민을 많이 했다. 처음에는 666을 기준으로 왼쪽과 오른쪽에 숫자를 넣어서 가능한 수들을 찾아야 하나 했으나, 대소 비교를 해야 한다는 점이 걸렸다. 1만 번째의 종말의 수가 몇인지를 모르니 언제까지 수를 늘릴지도 모르고 좌우로 어디부터 어떻게 넣어야 할지도 애매했다. 그래서 1부터 그냥 수를 늘려가면서 666이 들어가는지 확인하는 방.. 더보기 [백준알고리즘] 1018번: 체스판 다시 칠하기 -Python, C++ [백준알고리즘] 1018번: 체스판 다시 칠하기 -Python, C++ 1018번: 체스판 다시 칠하기 (acmicpc.net) 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 예전에 파이썬으로 풀었던 문제이지만 포스팅을 하지 않았었다. 예전에 풀었던 파이썬 코드는 가장 아래쪽에 넣어두었다. 주어진 입력이 들어오면 가장 수정을 적게해도 되는 8x8 크기의 체스판을 떼어내면 된다. 그러다 보니 직접 일일이 8x8 크기의 체스판을 떼어내는 모든 경우에 수정해야 하는 칸의 수를 카운팅 했다. 처음에는 각 시.. 더보기 [백준알고리즘] 7568번: 덩치 -C++ [백준알고리즘] 7568번: 덩치 -C++ 7568번: 덩치 (acmicpc.net) 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 예전에 파이썬으로 풀고 포스팅까지 했던 문제다... 그런데 오늘은 풀면서 엄청 헤매였다.... 아래는 그때 포스팅했던 글이다... 그때 손풀기용으로 풀었다며 당당하던 나는 어디로 갔는가.. [백준알고리즘] 7568번: 덩치 -Python (tistory.com) [백준알고리즘] 7568번: 덩치 -Python [백준알고리즘] 7568번: 덩치 -Python http.. 더보기 [백준알고리즘] 2231번: 분해합 -Python, C++ [백준알고리즘] 2231번: 분해합 -Python, C++ 2231번: 분해합 (acmicpc.net) 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.net 처음에 입력으로 생성자가 들어오는 줄 알고 후딱 풀어버리고는 왜 틀렸지 했다 ㅋㅋ;; 입력은 생성자가 아닌 분해합이 들어오며, 가능한 생성자 중 가장 작은 값을 출력하는 문제이다. 문제 자체는 로직이 쉬웠다. 그런데 이번에 C++로 푼 로직과 달리 예전에 파이썬으로 푼 코드가 있어서 같이 가져왔다. 아래는 C++ 코드다. 전체 입력.. 더보기 [백준알고리즘] 2798번: 블랙잭 -Python, C++ [백준알고리즘] 2798번: 블랙잭 -Python, C++ 2798번: 블랙잭 (acmicpc.net) 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 저번에도 파이썬으로 풀었던 문제인데, 파이썬은 먼저 조합을 모두 구한 뒤 적절한 답을 찾았다면, 이번에 푼 C++은 약간 다르게 풀었다. BFS와 비슷하게 풀었으며, \(Queue\)를 사용했다. \(Queue\) 안에는 tuple을 사용해서 세 개의 값을 쌍으로 단위 처리했다. tuple 안에는 (카드 선택 횟수, 현재까지 선.. 더보기 이전 1 ··· 11 12 13 14 15 16 17 18 다음