본문 바로가기

전체 글129

[ 프로그래머스 / 구현 ] 괄호 변환 (KaKao) 1. 문제 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 2. 소스코드 - 처음 문제를 보면 장문에 현기증. - 근데 문제에 정답이 있다. - 문제에 적힌대로 그냥 아무생각 없이 "그대로 구현"만 하면 된다. 소스코드 #include #include #include using namespace std; bool isRight(string str){ stack st; for(char ch : str){ if(ch == ')' and !st.empty() and st.top() == '(') st.pop(); .. 2020. 7. 2.
[ 프로그래머스 / Stack ] 짝지어 제거하기 1. 문제 코딩테스트 연습 - 짝지어 제거하기 짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙 programmers.co.kr 2. 소스코드 - 보자마자 스택이구나 싶었다. - stack의 맨위에 있는 글자와 현재 글자를 계속 비교해주면서 push pop을 결정하면 된다. - 입력 문자열의 마지막 까지 처리했을때, stack이 비어있으면 성공이고, 비어있지 않다면 실패이다. 소스코드 #include #include #define SUCCESS 1 #define FAIL 0 using namespace std; int solution(string s) { stack.. 2020. 7. 2.
[ 프로그래머스 ] 예상 대진표 1. 문제 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N� programmers.co.kr 2. 소스코드 - 간단한 수학문제. - 현재 대진 번호가 cur, 다음 대진 번호가 next라 하면 next = cur % 2 == 0 ? cur / 2 : cur / 2 + 1 임을 이용해 주면 된다. - B-A의 차이가 0이 될 때까지 반복하기에, 둘 중 작은 값을 A에 넣었다. 소스코드 #include using namespace std; int solution(int n, int a, int b) { int answe.. 2020. 7. 2.
[ 프로그래머스 / 문자열 ] 후보키 (KaKao) 1. 문제 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr 2. 소스코드 - 굉~장히 직관적으로 짰다. 대충 효율성이 좋지 않다라는 뜻. - 문제의 크기가 매우 작아서, 가지치기를 하지않고 다 구한 뒤에 후보키를 추렸다. - 1) 경우의 수를 dfs를 이용, 구한다. - 2) map을 이용해서, 해당 경우의 수가 후보키가 될 수 있는지 판단. 후보키라면 저장. - 3) 후보키들끼리 포함관.. 2020. 7. 2.