C++

· 기타
C++에서 파이썬으로 전향한 지 2주 좀 넘어간다. 변경 사유 얼마전에 넥토리얼이랑 라인, 카카오 코딩 테스트 망하고 현타 와서 원인 분석을 좀 해봤는데. 1. 내가 C++을 제대로 못다룸. (특히 문자열, 입출력) 2. 문제에 어떤 알고리즘을 적용해야할지 아직 감이 잘 안 옴 2는 뭐 문제풀이 경험이 부족했다고 치는데 1은 좀 억울하다. 내가 C/C++계열을 지금까지 무려 4년 동안 써왔고, C++로 2년 동안 알고리즘 공부를 했는데 (물론 제대로 시작한 건 최근이다만) 아직도 문자열 하나 제대로 못 다룬다는 게... 좀 현타가 세게 오더라. 심지어 극복해 보려고 8월 한 달은 내내 문자열 문제만 풀었었다. 이쯤되면 전공자로서의 자신감에 금이 갈 지경. (언어에 문제있는거 아냐?) 어쨌든 그날도 알고리..
문제 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 리뷰 예전에 한 번 풀어봤던 문제인데, 파이썬 공부 하다가 흥미로운 풀이 법을 발견해서 C++로도 한번 구현해봤다. 간단히 요약하자면 1. 각 숫자를 문자열로 바꾼다. 2. 바꾼 문자열을 세번 반복해서 벡터에 저장한다. 3. 벡터를 오름차순으로 정렬한다. 왜 하필 세 번 반복하나? 두번만 반복해도 프로그래머스에서 기본 제공하는 테스트 케이스는 통과한다. 하지만 채점에서는 빨간불이 막뜨는데 이유..
12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 정방향이 아닌 역방향으로 생각하면 쉽다. 글자를 조합해서 하나의 단어로 만드는 것 대신 단어에서 한 글자씩 빼는 방식이 더 쉽고, 메모리 효율도 좋음. #include #include #include using namespace std; int main(int argc, char const *argv[]) { ios_base ::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); ..
c++ STL 로 스택을 구현하는 법은 크게 3가지다. array vector stack 나는 보통 vector를 사용해서 스택을 구현하곤 했는데 이번에 c++ STL을 공부하면서 STL에 stack이 따로 구현되어 있다는 걸 알게 되었다. 하지만 stack을 이용해서 알고리즘 푸는 경우를 한번도 본 적 없어서 왜 멀쩡한 stack을 만들어놓고 쓰질 않는지 그 이유가 궁금해졌다. 두 방법의 차이점은 뭐고 무엇을 사용하는게 좋을까? 구글링을 통해 내린 결론은 다음과 같다. std::vector 장점 std::vector 안에는 스택 동작에 필요한 모든 함수들이 구현되어 있다 (스택과 똑같이 이용할 수 있다.) std::stack과 시간 복잡도나 공간 복잡도에서 차이가 없다. 개별원소에 index로 접근 가..
가을맛
'C++' 태그의 글 목록