제주 탈출 일지

[C++]프로그래머스 레벨 2 본문

코딩 테스트

[C++]프로그래머스 레벨 2

귀건 2020. 10. 9. 02:40
728x90
반응형

1번 문제

 

https://programmers.co.kr/learn/courses/30/lessons/60058

 

코딩테스트 연습 - 괄호 변환

카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴�

programmers.co.kr

 

맞았다 ! 28분 걸렸다. 스택과 벡터 stl을 활용해서 짜보았다. 여기서 시간을 아꼈으면 2번을 풀지 않았을까..?

pro1.cpp
0.00MB

#include<string>
#include <iostream>
#include <stack>
#include <typeinfo>

using namespace std;

bool solution(string data)
{
   	stack<char> s;
   	
   	if(data[0] == ')')
   		return false;
   	
   	for(int i = 0; i < data.size(); i++)
   	{
   		if(data[i] == '(')
   		{
   			s.push('a');
   		}	
   		else if(data[i] == ')')
   		{
   			if(s.empty())
   				return false;
   			else
   				s.pop();
   		}
	}
    
    
    if(s.empty())
    	return true;
    else
    	return false;
    
}


int main()
{
	
	string data = "(()(";
	    
		
	cout << solution(data) << endl;
	
}

 

2번 문제

 

https://programmers.co.kr/learn/courses/30/lessons/49993

 

코딩테스트 연습 - 스킬트리

 

programmers.co.kr

 

이 문제는 못풀었다 이런..

처음에 문제를 이해를 못해서 삽질하다가 못풀었다.

#include <string>
#include <vector>

using namespace std;

int solution(string skill, vector<string> skill_trees) {
   
	int r = 0;
	string s;
	int skill_number = 0;
	char* test_set = new char[26] { };
	int light;
	 
	vector<char> n;
	
	for(int i = 0; i < skill_trees.size() ; i++)
	{
		s = skill_trees[i];
		light = 0;
		for(int j = 0; skill.size(); j++)
		{
			
			for(int k = 0; s.size(); k++)
			{
				if(s[k] == skill[j])
				{
					test_set[k] = skill[j];
					break;
				}
			}	
		}
		
		for(int j = 0; j < 26; j ++)
		{
			if(test_set[j] != '')
			{
				n.push_back(test_set[j]);
			}
			
		}
		//비교. 
		for(int j = 0; j < skill.size(); j ++)
		{
			if(n[j] != s[j])
			{ 
				light++;
			}
		}
		if(light == 0)
		{
			r++;
		}
		
	}
        
        return r;
}


int main()
{
	
	string skill ("CBD");

	vector<string> skill_trees{"BACDE" , "CBADF" , "AECB" , "BDA" };
		
	cout << solution(skill, skill_trees) << endl;
	
	
	
	
}

풀다 남은 잔해..

 

STL 공부 + 문자열 처리가 능숙하게 안되는거 같다.

728x90
반응형
Comments