분류 전체보기(410)
-
(TIL) 20010501
1.Facts(한것) 백준 문제풀기 오랜만에 집에서 차 마시기 짝프로그래밍(매일 해왔었던) 등, 삼두, 복근 운동 2.Findings(배운것) "풀이방법 정리" 오늘 푼 문제도 스택을 활용한 문제였다. (여러개 중 하나.) 하지만 이 문제의 핵심은 스택이 아니라 오히려 for와 while의 적절한 사용이었다. 역시 기본 문법만 잘 알아도 절반은 간다는 말이 틀린말이 아니다. 그렇다고 for랑 while을 못쓰나? 라고 자문한다면 또 그건 아닌거 같다. 그래서 오늘 배운것은 머릿속에 있는 풀이방법을 주석으로 적어둔 후 그대로 구현하는 방법이 가장 빠른 방법이라는 것이다. 문제를 해결하는 도중, 생각했던 풀이방법을 잊어 먹을 수도 있고, 어떻게 변수를 선언할지 잊는 경우도 있기 때문에 이러한 방법이 중요할 ..
2021.05.02 -
백준 #9012번 괄호 c++
백준 9012번 괄호 문제이다. 실버4의 문제. 스택의 활용 정도 되는 문제이다. 스택의 기본구조인 선입후출의 개념과 stack.empty(), stack.top() 등의 개념을 활용하여 풀 수 있는 문제이다. 이 문제의 핵심은 닫는 괄호 ')' 의 짝이 있는가를 찾는 것이다. 처음부터 닫는 괄호가 들어오면 당연히 NO를 반환해야 하는것이고 닫는 괄호와 여는 괄호의 갯수가 같아도, 짝이 맞지 않으면 해결할 수 없다. 아래의 코드를 살펴보자. #include #include #include using namespace std; int main() { int testcase; cin >> testcase; // 몇 번 돌지 입력받음 while(testcase--) { stack st; string s; ci..
2021.05.01 -
(TIL) 20210430
1.Facts(한것)프로그래머스 카카오 인턴십 문제 풀기백준 문제 풀기학교 과제 제출수업듣고 퀴즈풀기운동 2시간2.Findings(배운것)"절박한 순간, 이루어진다" 중간고사 과제를 초고만 작성해두고 미루다 결국 제출날까지 미뤄버렸다. (원래 그때그때 처리하는 성격이지만, 이번 중간고사는 뒤로 미룬 과제들이 꽤나 있었다. ) 제출날이 되어서야 참고할 만한 논문들을 읽고, 관련 기사들을 찾아가면서 글을 작성했다. 마감일자가 다가 오기 전까지는 이런저런 논문 읽고 썼다 지웠다를 반복했는데, 마감날이 되자마자 언제 머뭇거렸냐는듯 3시간만에 과제를 끝냈다. 역시 과제는 마지막날. "습관은 쉽게 고쳐지지 않는다" 어제 오늘 c와 c++로 해결한 문제들을 파이썬으로 다시 풀어보고 있다. 사용하는 자료구조도 다르고,..
2021.05.01 -
백준 #9093 단어 뒤집기 C++
백준 9093 단어 뒤집기 문제이다. 랭크는 브론즈1.(브론즈 1이면서 실버 문제보다 까다롭다) 이 문제 역시 스택 자료구조를 활용해서 해결하는 문제이다. 문제에서 알 수 있듯, 문장 전체를 Revese 하는 것이 아닌, 각 단어마다 reverse를 해줘야 해서 구현하기 귀찮은 문제이다. 하지만 스택과 문자열을 적절히 활용하면 해결 가능하다. 아래는 c++ 코드 전문이다. #include #include #include using namespace std; int main() { int testCase; cin >> t; cin.ignore(); while (testCase--) { string str = " "; getline(cin, str); str += ' '; stack stack; for (i..
2021.05.01 -
백준 #10828 스택 c++
백준 10828 스택 문제이다. solve.ac에서 제공하는 실버4 문제이다. 문제를 읽어보면 단순히 스택을 구현하라는 문제이다. 물론 이 문제를 어떤 언어로 푸느냐에 따라서 문제 난이도가 천차만별이지만, 대부분의 하이레벨 언어에서는 기본 라이브러리에서 스택을 지원하기 때문에 문제를 푸는 것은 어렵지 않다. 물론 C를 사용해서 풀면, 스택을 다 구현해야 하기 때문에 상당히 복잡하다. 아래는 c++ 코드 전문이다 #include #include #include #include #include using namespace std; // //14 //push 1 //push 2 //top => 2 //size =>2 //empty => 거짓 => 0 //pop => 맨위 => 2 //pop => 맨위 => 1..
2021.04.30 -
(TIL) 20210429
1.Facts(한것) 프로그래머스 카카오 인턴십 문제 풀기 학교 과제 2.Findings(배운것) 카카오 인턴십 문제는 레벨1이든 레벨2이든 어렵다(문제도 어렵지만, 국어 독해력이 필요하다) c++로는 구현하려면 세줄, 네줄이 필요하지만 파이썬으로는 2줄이면 구현 가능한것이 많다. 3.Feeling(느낀점) c++은 유용하고, 익숙하지만 문제를 해결함에 있어서 코드가 복잡해질 수 있다는 단점이 있다. 파이썬은 익숙하지 않지만 문법이 간결하고 해결하는 다양한 알고리즘이 있어서 문제 해결에 용이하다. 결론 : 파이썬으로 빠르게 갈아탄다. 내일부터는 블로그에 백준, 프로그래머스 푼 문제의 해결방법들을 같이 올릴 생각이다. 4.Affirmation(자기선언) 다시 매일 성장하자 카카오 코딩테스트 준비
2021.04.30