본문 바로가기

About/Algorithm

(45)
[프로그래머스][C++] 스킬트리 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 문제는 다음과 같다. "CBD"가 스킬이라고 하면 B가 C보다 앞에 있거나 D가 C나 B보다 앞에 있으면 불가능한 스킬트리이다. 그런데 고려해야할 점이 있다. 1. skill_trees의 문자열들이 skill의 문자열을 일부만 포함하거나 아예 없는 경우 이 경우는 가능한 스킬이다 위의 입출력 예시에서도 skill이 "CBD" 일 때 "AECB"는 'D'가 없어도 가능한 스킬이다. 2. skill의 길이가 1인 경우 이 경우엔 선행스킬이 없..
[프로그래머스][C++] 땅따먹기 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 너무 복잡하게 생각해서 오래 걸렸던 문제이다 생각보다 코드는 간단하게 나왔다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include #include #define NUM_COLUMN 4 using namespace std; int find_max(vector v, int except) { int max = 0; for (int idx = 0; idx
[프로그래머스][C++] 가운데 글자 가져오기 출처 프로그래머스 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문자열의 가운데 문자를 반환하면 되는 문제이다. 길이가 짝수인 경우 문자 가운데 두 글자를 반환하는 것이 포인트이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 #include #include using namespace std; string solution(string s) { string answer = ""; bool isOdd = s.size() % 2; int index = int(s.length(..
[프로그래머스][C++] 124 나라의 숫자 출처. 프로그래머스 연습문제 https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 문제를 잘못 이해해서 오래걸린 문제다. 1 - 1 2 - 2 3 - 4 4 - 11 5 - 12 6 - 14 7 - 21 8 - 22 9 - 24 10 - 41 11 - 42 12 - 44 13 - 111 이런식으로 수가 증가한다. 숫자가 1, 2, 4 밖에 없는 3진수라고 생각하고 푸니까 풀렸다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include #include using ..
[프로그래머스][C++, Python]소수 찾기 문제 ( 에라토스테네스의 체 ) 프로그래머스의 문제중 소수찾기를 풀어보았다. https://programmers.co.kr/ 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 했던 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 #include #include #include using namespace std; bool IsPrimeNum(int n) { if ((n % 2) == 0) return (n == 2); for (int i = 3; i * i..