본문 바로가기

백준 문제 풀기

(5)
[c++] 백준 (1152번, 2908번) 문제 1152번 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 출력 첫째 줄에 단어의 개수를 출력한다. => 공백을 기준으로 단어를 세었습니다. 그래서 처음에는 처음과 마지막의 공백때문에 고민을 많이 했습니다. 그러다가 그냥 따로따로 조건문을 만들자라는 생각을 했습니다. 그리고 단어를 셀 때 공백의 개수와..
[c++] 백준 (10809번, 2675번, 1157번) 문제 10809번 알파벳 소문자로만 이루어진 단어 S가 주어진다. 각각의 알파벳에 대해서, 단어에 포함되어 있는 경우에는 처음 등장하는 위치를, 포함되어 있지 않은 경우에는 -1을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 단어 S가 주어진다. 단어의 길이는 100을 넘지 않으며, 알파벳 소문자로만 이루어져 있다. 출력 각각의 알파벳에 대해서, a가 처음 등장하는 위치, b가 처음 등장하는 위치, ... z가 처음 등장하는 위치를 공백으로 구분해서 출력한다. 만약, 어떤 알파벳이 단어에 포함되어 있지 않다면 -1을 출력한다. 단어의 첫 번째 글자는 0번째 위치이고, 두 번째 글자는 1번째 위치이다. => fill_n(변경하려는 원소 시작 범위, 개수, 변경값) : 값이 범위만큼 변경값으로 바뀐다. ..
[C++] 백준 6단계 함수(15596번, 4673번, 1065번) 문제 15596번 정수 n개가 주어졌을 때, n개의 합을 구하는 함수를 작성하시오. 작성해야 하는 함수는 다음과 같다. C++, C++11, C++14, C++17, C++ (Clang), C++11 (Clang), C++14 (Clang), C++17 (Clang): long long sum(std::vector &a); a: 합을 구해야 하는 정수 n개가 저장되어 있는 배열 (0 ≤ a[i] ≤ 1,000,000, 1 ≤ n ≤ 3,000,000) 리턴값: a에 포함되어 있는 정수 n개의 합 => 이 문제는 Vector를 사용해야 합니다. 문제 4673번 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라..
~08/08 C++ 백준 풀기 저번 학기 C++ 프로그래밍 수업을 들었다. 이 후 C++가 가장 익숙해지고 하였고, 여태 언어 중 가장 많이 공부한 거 같았다. 그래서 잊지 않기 위해 방학 동안 백준 문제를 풀었다. 중간중간 못 풀었던 문제는 구글링을 통해 해결했다. 좀 더 자세하게 설명하고 싶지만, 할 일이 많아서 이만! GANG CAN DO EVERYTHING!
0. 방학 때 풀었던 것 작년 겨울방학에 파이썬을 제대로 공부해보자! 라는 마음으로 백준을 풀기 시작했다. 그래서 파이썬으로 단계별로 문제를 푸는데 먼저 손으로 코딩을 했다. 그 과정에서 다시 한 번 생각하게 되는 것 같았다. 그리고 사이트에 입력하는데 틀리면 오류를 보고 다시 생각하고, 손 코딩 한 부분에서 고치고 이런 식으로 했다. 이번엔 C++로 할 예정이다. 왜냐하면 C++ 프로그래밍 기말을 내가 발라버리고 싶기 때문이다. !!gang can do anything!!