본문 바로가기

C++

(123)
[프로그래머스 고득점 Kit] 기능개발 C++ 문제풀이 & 소스코드 #1 INFO 분류 : 스택/큐 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/42586 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 프로그래머스 팀은 기능 개선 작업을 수행 중이며, 각 기능은 진도가 100%에 도달 시 서비스에 반영할 수 있습니다. 각 기능의 개발 속도는 모두 상이하기에, 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이 경우 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 같이 배포됩니다. Parameter progresses(진도율) : 배포..
[프로그래머스 고득점 Kit] 카펫 C++ 문제풀이 #INFO 분류 : 완전탐색 난이도 : LEVEL2 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/42842 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #SOLVE 갈색 격자의 수 brown과 노란색 격자의 수 yellow 가 매개변수로 주어집니다. 이 때, 카펫의 모양은 갈색 격자는 노란색 격자 테두리 1줄을 둘러 싸는 형태로 만들어 집니다. 이와 같이 만들어진 카펫의 가로(width)와 세로(height)의 크기를 구해야 합니다. brown = 24, yellow = 24 인 테스트..
[프로그래머스 고득점 Kit] 폰켓몬 C++ 문제 풀이 #INFO 난이도 : LEVEL1 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr #SOLVE N마리의 폰켓몬이 번호로 주어집니다. 같은 번호의 폰켓몬은 같은 종류의 폰켓몬으로 취급하며, N마리의 포켓몬 중 N/2 마리의 폰켓몬을 가져갈 수 있습니다. 이 때 가져갈 수 있는 폰켓몬의 최대 개수를 구하는 문제입니다. 우선, unordered_set 자료구조를 이용해 폰켓몬의 종류를 중복을 허용하지 않게 입력받습니다. 예를들어 [3번, 1번..
[BOJ] C++ 7785 "회사에 있는 사람" 문제 풀이 #INFO 난이도 : SILVER5 문제 유형 : 자료구조 출처 : https://www.acmicpc.net/problem/7785 7785번: 회사에 있는 사람 첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는 www.acmicpc.net #SOLVE 공백과 함께 문자열을 입력 받아야 하기에 cin이 아닌 getline 함수를 이용해 문자열을 입력받습니다. 입력받은 문자열은 enterLog에 저장합니다. int n = 0; cin >> n; vector enterLog(n); cin.ignore(); // berfer clea..
[LeetCode] 70. Climbing Stairs 문제 풀이 C++ #INFO 난이도 : Easy 출처 : https://leetcode.com/problems/climbing-stairs/ Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com #SOLVE DP(Dynamic Programming) Algorithm에 대한 선수 지식이 있다면 쉽게 풀이할 수 있는 문제입니다. Bottom-up 방식을 사용해 문제를 풀이했습니다. → Dynamic Programming 우선, stairs 벡터를 생성해 줍..
[LeetCode] 169. Majority Element 문제 풀이 C++ (feat. 과반수 투표 알고리즘) #INFO 난이도 : Easy 출처 : https://leetcode.com/problems/majority-element/ Majority Element - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com #SOLVE 다양한 방식으로 접근할 수 있는 문제입니다. 비효율적인 코드로도 풀이할 수 있지만 Follow-up 조건인 Time Complexity - Linear Time & Space Complexity - O(1) 을 지켜서 문제를 풀이하고자 할 경우엔 ..
[C++] STL map Container 사용 방법 정리 (feat. map & [hash_map]unordered_map & multi_map) * 다음 포스팅은 STL map Container의 사용 방법 및 map & multimap & unordered_map[hash_map]에 관련된 내용을 포함하고 있습니다. Hash Table에 관한 선수지식이 부족하신 분들은 다음 포스팅을 참고해 주세요. → [DataStructure] Hash 자료구조 개념 정리 * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있으며, 지속적으로 수정해 나갈 예정입니다. _Contents #1 About map container #1.1 map & multimap - map container Time Complexity #1.2 unordered_map[hash_map] - unordered_map Time-Complexi..
[C++] STL List erase member function 사용 시 주의점 * 다음 포스팅은 STL List Container의 erase 멤버 함수를 사용 시 발생할 수 있는 오류에 대해 다룹니다. * 개인적인 공부 내용을 기록하는 용도로 작성한 글 이기에 잘못된 내용을 포함하고 있을 수 있습니다. Related → STL List Container 사용 방법 정리 Content #1 Vector erase member function #2 List erase member function #1 Vector erase member functon STL 대부분의 Container는 지정된 iterator 위치의 원소를 삭제하는 erase 멤버 함수를 제공합니다. 이는 list 뿐 만 아니라 vector container 또한 erase 멤버 함수를 포함하고 있습니다. 다음은 1,..