공부
-
[백준] 1316번 : 그룹 단어 체커공부/컴퓨터 - C++ 2023. 2. 25. 02:34
이 문제는 STL의 set을 이용하여 푸니 그닥 어렵진 않았는데, 구현의 난이도를 고려하여 실버 5로 평가되어 있는 듯하다. 글자가 하나만 나와도 연속해서 나온다고 판단하므로 글자의 등장 횟수는 중요하지 않고, 글자가 다른 위치에서 또 나오냐 마냐가 중요한 문제이다. 그래서 숫자를 세지 않으면서 나온 글자들의 정보를 저장할 수 있는 자료구조로 집합을 선택했다. 코드를 확인해보자. #include #include using namespace std; int main() { int N; cin >> N; int count = 0; for (int _ = 0; _ > temp; int i = 0; bool isGroupWord ..
-
[백준] 2941번 : 크로아티아 알파벳공부/컴퓨터 - C++ 2023. 2. 24. 19:07
거의 모든 사람이 실버 5 수준으로 평가한 문제이다. 이런 류의 문제는 많은 사람들이 일일이 모든 조건을 if-else statement로 비교해 가며 해결하는 듯하다. 그런데 나한테는 그런 방식으로 푸는 것이 뭔가 깔끔하지 않다. 코드도 지저분해지기도 하고, 조건이 적어서 망정이지 조금만 늘어나도 if, else의 조건을 일일이 써주고 있는 자신을 보며 현자타임이 온다. 이번에 소개할 테크닉은 간결한 switch statement 작성법이다. 코드 먼저 살펴보자. #include #include using namespace std; int main() { string line; getline(cin, line); int count = 0; int index = 0; while (index < line...
-
[백준] 1193번 : 분수찾기공부/컴퓨터 - C++ 2023. 2. 24. 04:25
풀고 보니 발상이 실버 문제라고 하여 실버 등급이 매겨져 있다. 가장 기본적인 아이디어는 군수열이라고 하던데 나는 군수열에 대해 배운 적이 없다.. 인터넷에 찾아보니 군수열의 정확한 정의는 어디에도 없다.. 그냥 내 방식대로 얄팍하게 정의해 보자면, 수열을 규칙에 따라 여러 개의 군으로 묶은 것이라고 할 수 있겠다. 이 문제를 예로 들어보자. 분자와 분모의 합을 기준으로 나열된 분수들을 군으로 묶는다면 (2), (3, 3), (4, 4, 4), ... 과 같이 나타낼 수 있다. 일단 코드부터 확인해 보자. #include using namespace std; int main() { int X; cin >> X; int numer = 1, denom = 1; bool upperDirection = true..
-
[백준] 2563번 : 색종이공부/컴퓨터 - C++ 2023. 2. 24. 02:52
백준 문제를 단계별로 풀어보는 중이다. 옛날에 올린 글을 보니 내가 브론즈 문제 해설을 꽤나 장황하게 적어놨던데, 이미 아는 내용 쉽게 풀면서 글에는 너무 허세만 가득했던 것 같아 이제는 난이도 까보고 최소 실버는 나오면 해설을 적어볼까 한다. 그리고 내 풀이법은 생각보다 어려운 접근일 수 있다. STL을 배운 지 얼마 안 되어서 이걸 활용해보고 싶은 욕구가 크기 때문에 쉬운 문제를 '굳이' 어렵게 푸는 느낌이 좀 있다. 코드부터 살펴보자. #include #include using namespace std; int main() { vector paper(100, vector(100, 0)); int paperNumber; cin >> paperNumber; for (int _ = 0; _ < paper..
-
[백준] 14680번 : 효빈이의 과외공부/컴퓨터 - C++ 2023. 2. 23. 17:35
나도 이제 4학년, 복전생에다가 5학년까지 다닐 예정이므로 사실상 3학년이다. 슬슬 백준을 풀어봐야 할 것 같아서 C++을 공부하였고, 기존에는 C로 백준을 풀었으나 앞으로는 C++로만 풀어보려 한다. 첫 번째 문제는 14680번, 옛날에 알고리즘 대회에 나가서 C로 풀다가 시간이 너무 많이 걸려 절차지향 언어의 한계를 느끼게 해주었던 문제이다. 확실히 객체지향 프로그래밍으로 접근하여 푸니 손쉽게 풀렸다. #include using namespace std; typedef long long ll; class Matrix { private: ll row; ll col; ll** matrix; public: void test() const; Matrix(); Matrix(ll row, ll col); Mat..