문제 programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 1. 우선 각각의 손님이 주문한 음식들로부터 음식들을 조합하여 원하는 길이(course[])만큼의 메뉴구성을 해주고, map의 key엔 메뉴구성을 value엔 그 개수를 담아 메뉴구성을 카운트합니다. 2. map을 순회하며 그 값(가능한 조합의 개수)가 2이상인 것들만 선택하여 길이를 인덱스로 갖는 벡터(cand)에 메뉴구성을 넣어줍니다. 3. 마지막으로 course..
문제 programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 카카오계정개발팀에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. 네오에게 주어진 첫 업무는 새로 가 programmers.co.kr 풀이 문제에서 구현하라는대로 그대로 따라 구현하면 됩니다. c++의 경우 isupper, tolower, substr과 같은 문자열(문자)를 다루는 stl을 적절히 사용하면 더 간단하게 구현할 수 있습니다. 코드 #include using namespace std; bool isok(char x) { if (islower(x) || isdigit(x) || x == ..
문제 programmers.co.kr/learn/courses/30/lessons/67259 코딩테스트 연습 - 경주로 건설 [[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0,0],[0,0,0,0,0,1,0,0],[0,0,0,0,1,0,0,0],[0,0,0,1,0,0,0,1],[0,0,1,0,0,0,1,0],[0,1,0,0,0,1,0,0],[1,0,0,0,0,0,0,0]] 3800 [[0,0,1,0],[0,0,0,0],[0,1,0,1],[1,0,0,0]] 2100 [[0,0,0,0,0,0],[0,1,1,1,1,0],[0,0,1,0,0,0],[1,0,0,1,0,1],[ programmers.co.kr 풀이 1. 이동하는 비용에 대해서 살펴보면 다음 칸으로 이동할 때의 방향이 현재 칸으로 이동한 ..
문제 programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 풀이 1. 어떤 조건(모든 보석종류를 포함)을 만족하고 연속되는 가장 짧은 구간을 찾는데 N의 상한이 10^5이기에 투포인터로 푸는문제임을 알 수 있습니다. 2. 보석의 이름을 매핑하며 모든 보석의 종류의 개수를 세어줍니다. 3. "[l, r)구간의 보석의 종류(Curkind)가 모든 보석의 종류(Allkind)를 포함하는가?" 라는 조건을 기준으로 l, r을 움직이는데 현재 보는 보석의 개수(gemscnt)를 관리해가..
문제 programmers.co.kr/learn/courses/30/lessons/67257 코딩테스트 연습 - 수식 최대화 IT 벤처 회사를 운영하고 있는 라이언은 매년 사내 해커톤 대회를 개최하여 우승자에게 상금을 지급하고 있습니다. 이번 대회에서는 우승자에게 지급되는 상금을 이전 대회와는 다르게 다음과 programmers.co.kr 풀이 1. 우선 구해야하는건 + , - , * 의 서로 다른 연산자 우선순위 3!가지 순열을 구성해보고 모든 연산결과의 최소를 구하는 것입니다. 2. 입력으로 받은 문자열에 숫자와 연산자가 섞여있으므로 주어진 식을 파싱해가며 우선순위가 서로 다른 연산자 식을 계산하기 간편하게 중위표기식에서 후위표기식으로 변환해줍니다. 3. 중위표기식에서 후위표기식(post)으로 바꾸는..

문제 programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 풀이 $$(R, C) = ((numbers[i] - 1) / 3, (numbers[i] - 1) \% 3)$$ 1. 키패드를 좌표계라고 생각한다면 0을 제외한 번호 i의 좌표는 위와 같이 바꿀 수 있고, 마찬가지로 손의 위치도 간단하게 좌표로 나타낼 수 있습니다..

문제 programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 문제 풀이 처음엔 열쇠를 따로 벡터에 넣어 관리하며 열쇠의 상태를 방문처리하는 방법으로 bfs를 돌려볼까 했으나 생각보다 구현이 힘들것 같아 다른 방향으로 생각해봤다. 키를 상,하,좌,우로 움직이는 경우를 생각해보면 아래와 같이 왼쪽 위 끝부터 오른쪽 아래 끝까지 이동할 수 있다. 키를 최대 $(n + m - 1)^2$번 이동하고 4번 회전할 수 있으며 lock의 개수 $(m^2)$만큼 비교하므로 충분히 완전탐색으로 구..
문제 programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴� programmers.co.kr 문제 풀이 1. 균형잡힌 문자열인지는 s를 탐색하며 '(' , ')'의 개수를 비교하면된다. 2. 올바른 괄호 문자열인지는 해당 문자가 '('이면 스택에 넣고, ')'일 때 스택에서 pop한다고 할 때 스택이 비어있는데pop하는 경우를 확인하면 된다. 코드 #include #include using namespace std; string f(string w) { vect..
문제 programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr 문제 풀이 1. 반복되는 문자열의 길이 l은 1
- Total
- Today
- Yesterday
- 트리
- 카카오 2차코딩테스트
- 시뮬레이션
- 표 편집
- 게임이론
- 프로그래머스
- 2021 KAKAO BLIND
- 구현
- 프로그래머스 위클리 9주차
- 카카오 인턴십
- 2022 카카오블라인드
- 카카오 2021
- 2021 카카오 블라인드
- Kakaoblind
- 누적합
- DP
- 2022 카카오 블라인드 코딩테스트
- 프로그래머스 월간코드챌린지
- 2022 KAKAO BLIND RECRUITMENT
- 2020 KAKAO BLIND RECRUITMENT
- 이분탐색
- 카카오 2020 인턴십
- 백준
- 유니온파인드
- 동적계획법
- 카카오 표 편집
- 위클리 챌린지
- 파싱
- BFS
- 투포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |