' '백준' 태그의 글 목록
728x90

백준 4

[C/C++] 백준 2903, 중앙 이동 알고리즘. 격자점 풀이

이 문제를 수학적으로 수열로 해석해서 일반항을 구하고 싶었다. 처음 풀이는 가장 작은 단위의 정사각형 하나를 box라고 하면 모든 box에서 정중앙과 밑변, 오른쪽변 중앙 총 세 개의 점을 찍고, 마지막에 테두리를 돌며 점을 찍으면 된다고 생각했다. 그래서 다음과 같은 수열을 정의하고 코드를 작성했다. a1=4 a_n+1 = a_n + 4^(n-1) * 3 + 2^(n-1) * 2 a2=4+5=9 a3=9+16=25 #include #include int solution(int n) { if (n == 0) return 0; int boxes = 1 * std::pow(4, n - 1); int newDots = boxes * 3 + std::pow(2, n - 1) * 2; return newDots ..

Programming/C & C++ 2024.01.26

[C/C++] 백준 1966번 C/C++ 풀이 (테스트 케이스 제공)

글 맨 아래에 테스트 케이스가 있으니, 정답을 읽기 전에 다시 한 번 도전해보시는 것도 좋습니다! 먼저, 현실에서 해당 작업을 한다면 어떻게 할지 고민해보았습니다. 가장 중요도가 큰 문서가 나올 때까지 문서들을 제치면 될 것이고, 그것을 코드로 구현하려고 했습니다. 하지만 C++에서 배열을 통해 배열의 요소들을 이동 시키는 것은 시간복잡도가 큰 작업으로 성능 저하가 우려되어, 배열의 요소들은 고정시키고, indicator 역할을 하는 변수를 배열의 끝을 만났을 때 처음으로 돌아가는 식으로 구현했습니다. 문서를 인쇄하는 것은, 더 이상 최댓값 탐색에 영향을 끼치지 않게 배열 요소 값을 -1로 변경하는 형태로 구현했습니다. 다음 코드는 머릿속에서 떠올리는 대로 작성한 처음 풀이입니다. 풀이1) #includ..

Programming/C & C++ 2023.07.15

[C/C++] 백준 1152번 C++ 풀이

이 문제는 입력받은 문자열의 단어의 개수를 구하는 문제이다. 문제를 풀기 위해서 해결해야 하는 과제는 두 가지가 있다. 1. 공백도 문자열에 포함해서 입력받기 2. 공백을 제외한 다른 알파벳들의 묶음(단어의 개수) 수 세기 이게 필자의 제출 기록인데 보다시피 실패가 아주 많다..ㅋㅋ 문자열을 그냥 입력받으면 공백으로도 구분된다는 것과 문자열 앞뒤로 공백이 나올 수 있다는 조건을 간과하여 5번이나 틀렸다. 결국 못참고 정답을 찾아봤는데.. ▼구글에서 찾은 정답 보기 #include #include int main() { std::string str; int count = 0; while (std::cin >> str) { ++count; } std::cout = 0 && x - 65 = 0 && x - 97

Programming/C & C++ 2021.09.01

[C/C++] 백준 1157번 C++ 풀이

백준 문제 1157번 C++풀이이다. 아래 코드는 정답이었지만 너무 길고 복잡한 것 같아서 고수들의 코드를 확인해보려고 했는데.. 소름돋게 똑같은 알고리즘을 써서;; 내가 맞게 잘 한 거구나.. 라는 생각과 함께 여러 풀이들이 변수이름까지 똑같은 걸 보고 다들 정답을 보고 하는 구나;; 라는 생각을 하며.. 힌트와 답을 공유한다. #include #include int main() { std::string str;//문자열 std::cin >> str;//문자열 입력 int count[26] = { 0 };//카운트 for (int i = 0, idx = 0; i < str.length(); i++) { idx = str[i]; if (idx < 97)//대문자면 65를 빼고 idx -= 65; else..

Programming/C & C++ 2021.08.30
728x90

'