Algorithm/프로그래머스(84)
-
[프로그래머스] Level.2 완전탐색- 소수찾기
코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr https://yabmoons.tistory.com/336 분의 소수찾기와 순열 조합게시물을 참고해서 풀었다 ㅠㅠ [ 프로그래머스 소수 찾기 (Lv2) ] (C++) 프로그래머스의 소수찾기(Lv2) 문제이다. [ 문제풀이 ] 1) 본인은 이 문제를 부분집합의 개념으로 접근해 보았다. 주어진 문자열에서, 구할 수 있는 모든 원소들을 순열의 개념으로 뽑으면서 그 yabmoons.tistory.com #include #include #include us..
2021.01.19 -
[프로그래머스] Level.2 Dfs/Bfs -타겟넘버
코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr #include #include using namespace std; int answer=0; void targetNumber(vectornumbers,int target,int sum,int count){ if(count==numbers.size()){ if(target==sum) answer++; return; } targetNumber(numbers,target,sum+numbers[count],coun..
2021.01.19 -
[프로그래머스] Level.2 영어 끝말잇기
코딩테스트 연습 - 영어 끝말잇기 3 [tank, kick, know, wheel, land, dream, mother, robot, tank] [3,3] 5 [hello, observe, effect, take, either, recognize, encourage, ensure, establish, hang, gather, refer, reference, estimate, executive] [0,0] programmers.co.kr #include #include #include #include using namespace std; vector solution(int n, vector words) { int size, who, ord; string first = "", last = ""; vector..
2021.01.18 -
[프로그래머스] Level.2 연습문제-큰 수 만들기
코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 첫번째풀이-10번 시간초과 이렇게 풀기는 했는데 아무리봐도 이렇게 푸는게 아닌것 같다... 일단 8번문제가 200ms뜨더라 엄청 긴 number가 주어지는것 같은데 그럴때는 다른 풀이법을 생각해야한다 ㅠㅠ #include #include using namespace std; string solution(string number, int k) { string answer = ""; vectorst; for (int i = 0;i < number.size();i++) st.push_back(number[i] - '0'); int tmp = st[0]; for (;;) { if (k == 0) break; int idx = 0; for (;;)..
2021.01.18 -
[프로그래머스]Level.2 연습문제 - 숫자의 표현
코딩테스트 연습 - 숫자의 표현 Finn은 요즘 수학공부에 빠져 있습니다. 수학 공부를 하던 Finn은 자연수 n을 연속한 자연수들로 표현 하는 방법이 여러개라는 사실을 알게 되었습니다. 예를들어 15는 다음과 같이 4가지로 표현 할 programmers.co.kr #include #include using namespace std; int solution(int n) { int answer = 0; for(int i=1;i
2021.01.18 -
[프로그래머스]Level.2 연습문제- 올바른 괄호
코딩테스트 연습 - 올바른 괄호 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호 programmers.co.kr #include #include #include using namespace std; bool solution(string s) { bool answer = true; stackst; for (int i = 0;i < s.length();i++) { if (st.size()!=0 && st.top()=='('&& s[i]==')') st.pop(); else st.push(s[i]); } if(st.size()!=0) answ..
2021.01.17