Problem Solving/Programmers
-
[Programmers] 괄호 변환Problem Solving/Programmers 2020. 6. 1. 20:30
✔️ 문제 링크 ◾ 2020 카카오 블라인드 채용 기출 문제이다. https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr ✔️ 문제 이해 ◾ '(' 와 ')' 로만 이루어진 문자열이 주어진다. ◾ '(' 의 개수와 ')' 의 개수가 같고, '('와 ')'의 괄호의 짝도 모두 맞을 경우에는 이는 올바른 괄호 문자열이다. ◾ 문자열이 주어졌을 때 올바른 괄호 문자열로 변환해서 반환하면 된다. ✔️ 설계 ◾ 이 문제는 내..
-
[프로그래머스] 튜플Problem Solving/Programmers 2020. 5. 8. 19:28
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/64065 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - 튜플을 구하려면, 우선 주어진 집합을 크기 순으로 오름차순 정렬한다. - "{{1,2,3},{2,1},{1,2,4,3},{2}}" -- > "{{2},{2,1},{1,2,3},{1,2,4,3}}" - 원소 수가 K인 집합과 K – 1인 집합의 차집합(단, K > 1)의 원소가 튜플의 K번째 원소를 나타낸다. - 위와 같은 방법을 그대로 구현하면 된다. ✔️ 문제 회고 - 문제를 ..
-
[프로그래머스] 후보키Problem Solving/Programmers 2020. 5. 7. 15:08
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42890 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - 릴레이션(DB 테이블)이 주어지고, 후보키의 최대 개수를 구하는 문제이다. - 후보키는 유일성과 최소성을 만족해야한다. - 유일성은 set을 활용하여 컬럼의 중복여부를 확인하는 방법으로 체크했다. - 최소성은 후보키를 이루는 속성들의 부분 집합중 유일성을 만족하는 집합이 있는지 확인하는 방법으로 체크했다. 후보키를 이루는 속성들의 모든 부분 집합에서 유일성을 만족시키는 집합이 있..
-
[프로그래머스] 오픈채팅방Problem Solving/Programmers 2020. 5. 4. 18:19
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42888 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 풀이 - map을 사용한다. - 채팅방에 들어오거나(Enter) 닉네임을 바꿀때(Change) 유저 아이디를 key 값으로 사용해서 닉네임을 바꿔준다. ✔️ 문제 회고 - map을 이용하는 문제였다. - istringstream을 사용해서 공백을 기준으로 문자열을 손쉽게 자를 수 있다. 👨🏻💻 소스 코드 #include #include #include using namespace std..
-
[프로그래머스] 프렌즈 4블록Problem Solving/Programmers 2020. 5. 3. 22:59
✔️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✔️ 문제 이해 1. 문제 조건대로 구현하면된다. 2x2 공간에 같은 모양의 블록이 있으면 터뜨리고, 빈공간은 위에서 아래로 채운다. ✔️ 설계 - 2x2 공간에 같은 모양의 블록이 있으면 check 배열에 체크해둔다. ✔️ 문제 회고 - 2x2 위치에 같은 모양의 블록이 있는지 확인하는 작업을 재귀로 구현했더니 시간초과가 났고, 구현이 복잡해졌고, 오답이 나왔다. - 2x2 위치라고 명시되어..