본문 바로가기

반응형

Algorithm

(109)
[백준][C++] 10816 : 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net - 문제 주어진 정수 배열을 저장한 후 2번째 정수배열가 주어지면 2번째 정수배열에 있는 정수가 1번째 정수배열에서 몇 번 나왔는지 출력하는 문제다. - 해설 이것도 map 를 이용해서 숫자를 키값으로 저장해놓고 풀면 쉽다. - 풀이 #include #include using namespace std; int main() { ios_base::sync_with_s..
[백준][C++] 1620 : 나는야 포켓몬 마스터 이다솜 https://www.acmicpc.net/problem/1620 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net - 문제 포켓몬 이름을 저장한 다음에 번호가 주어지면 해당 번호에 맞는 포켓몬 이름을 출력하는 문제다. - 해설 map랑 map을 만들거나 map랑 vector을 만들면 된다. - 풀이 #include #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(false);..
[백준][C++] 10815 : 숫자 카드 https://www.acmicpc.net/problem/10815 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net - 문제 두 개의 정수 배열이 주어지면 서로 같은 숫자가 있으면 1, 아니면 0을 출력하는 문제다. - 해설 이것도 map 를 이용해서 숫자를 키값으로 저장해놓고 풀면 쉽다. - 풀이 #include #include using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie..
[백준][C++] 14425 : 문자열 집합 https://www.acmicpc.net/problem/14425 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net - 문제 S 문자열이 여러개 주어지면 이후에 주어지는 문자열 중에서 S에 속한 애가 몇개인지 찾는 문제다. - 해설 map을 이용해서 를 통해 string 을 키값으로 저장하면 쉽게 셀 수 있다. - 풀이 #include #include #include using namespace std; int main() { ios_base::sync_with_..
프로그래머스 짝지어 제거하기 C++ 프로그래머스 : 짝지어 제거하기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 같은 알파벳이 두번 나오면 짝지어서 제거하는 문제다. - 풀이 #include #include using namespace std; int solution(string s) { int answer = 0; stack st; for(int i = 0; i < s.size(); i++){ if(!st.empty() && st.top() == s[i]){ st.pop(); } else{ st.push(s[i]); } } if(st.empty()) answer = 1; ret..
프로그래머스 영어 끝말잇기 C++ 프로그래머스 : 영어 끝말잇기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 영어로 끝말잇기를 하는 문제다. - 풀이 #include #include #include #include using namespace std; vector solution(int n, vector words) { vector answer; map m; char before, now; m[words[0]]++; before = words[0][words[0].size()-1]; for(int i = 1; i < words.size();i++){ now = words[i][..
프로그래머스 전화번호 목록 C++ 프로그래머스 : 전화번호 목록 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 주어진 전화번호가 다른 전화번호의 접두어인 경우 false를 아니면 true를 반환하는 문제이다. 특이하게 해시로 풀어야 하는 문제에 속한다. - 풀이 #include #include #include using namespace std; bool solution(vector phone_book) { bool answer = true; sort(phone_book.begin(), phone_book.end()); for(int i = 0; i < phone_book.siz..
프로그래머스 최댓값과 최솟값 C++ 프로그래머스 : 최댓값과 최솟값 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 문제 주어진 문자열에서 최댓값과 최솟값을 반환하는 문제이다. - 풀이 #include #include #include #include using namespace std; string solution(string s) { string answer = ""; vector nums; string temp; int size; stringstream ss(s); while(ss >> temp){ nums.push_back(stoi(temp)); } size = nums.size()..

반응형