알고리즘/카카오 기출 10

[Python/프로그래머스] 두 큐 합 같게 만들기 - 2022 KAKAO TECH INTERNSHIP

❕ 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/118667 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ❕ 내 풀이 방법 1. Queue1, Queue2 각각의 sum을 비교 2. Sum 값이 큰 큐에서 작은 큐로 첫 번째 원소 보내기 3. Sum 값이 같을 때까지 1-2번 반복 4. Queue1과 Queue2의 모든 원소를 바꿨다 원래대로 돌아오는 len(Queue1)*3 번 만큼 1-2를 반복해도 sum 값이 같지 않다면 -1 return ❕ 첫 번째 코드(실패) from coll..

[프로그래머스/python] 메뉴 리뉴얼 - 2021 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 이번 문제는 효율성도 보지 않은 정말 간단한 combination+sorting 문제다 테스트케이스3에서 WX = XW 로 봐야하기 때문에 맨 처음에 orders 리스트 안의 변수 전부를 오름차순 정렬 해주었다. 코드는 너무 간단하니 아래에서 :) from itertools import combinations def solution(orders, cour..

[프로그래머스/Python] 순위 검색 - 2021 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/72412 int(info_list[j][4])): flag=False break if(query_list[i][k] == '-' or query_list[i][k] == info_list[j][k]): continue else: flag = False break if flag == True: temp.append(info_list[j]) cnt += 1 answer.append(cnt) return answer 어떻게 하면 효율적이게 코드 짤 지를 좀 고민했는데.. 답이 없어서...... (그리고 맨날 C++로만 코딩하다 파이썬은 오랜만이라.. 라는 핑계로) 그냥 인터넷 찾아봤다.... 훌쩍 근데 이런 ..

[프로그래머스/Python] 오픈채팅방 - 2019 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/42888?language=python3 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr C++로 풀다가 map 출력할때 막 for문에 iter에 복잡하게 하는거에 너무 현타가와서,, 때려치고 파이썬으로 풀었는데 이렇게나 코드가 간결하고 빠르게 풀 수 있다니,, 앞으로 이런 문자열 시뮬레이션 문제는 무적권 파이썬으로 풀거다..... def solution(record): answer = [] nickname =..

[프로그래머스/C++] 문자열 압축 - 2020 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 이 문제는 주어지는 문자열 s가 1000개 이하이기 때문에 완전탐색으로 풀었다. 나는 1개부터 (s의 길이/2)개까지 전부 압축해서 가장 짧은 result 길이를 return 했다. for문에서 마지막 iter일 때를 찾느라 살짝 애먹었지만 오늘도 기분좋게 한문제 끝 (ง •_•)ง #include #include #include #include..

[프로그래머스/C++] 크레인 인형뽑기 게임 - 2019 카카오 개발자 겨울 인턴십

문제 : https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr 이 문제는 2019 카카오 개발자 겨울 인턴쉽 문제입니당 레벨 1의 문제이고 시뮬레이션으로 간단히 풀리는 문제예요 저는 바구니에 들은 인형 개수를 출력하는 줄 알고 basket 벡터를 잘 관리했지만 ㅋㅋㅋ 없어진 인형 개수를 출력하는거더라구여 basket 안의 변수 빼는 코드는 그대로 냅뒀습니당 #include #include #include #include using names..

[프로그래머스/C++] 숫자 문자열과 영단어 - 2021 카카오 채용연계형 인턴십

문제 : https://programmers.co.kr/learn/courses/30/lessons/81301 코딩테스트 연습 - 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자 programmers.co.kr 이 문제도 레벨 1! 0~9 까지의 영단어를 가진 string vector를 만들어서 주어진 문자열과 비교했습니다. 다만 처음부터 return 할 answer를 int형으로 한다면 숫자를 하나하나 더하기 힘들어서 string으로 만들어서 문자열을 그냥 더해준다음 마지막에 int로 바꿨습니당. 이것도 그냥 노가다 str 문제 :3 #includ..

[프로그래머스/C++] 신규 아이디 추천 - 2021 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거..

[프로그래머스/C++] [1차] 다트 게임 - 2018 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/17682 코딩테스트 연습 - [1차] 다트 게임 programmers.co.kr 동진이오빠가 1레벨로 풀재서 푼 다트 게임,,, 나는 다트 던지는 1,2,3번의 점수를 각각 벡터에 저장해서 했다 ex) 1D2S3T* = 1D, 2S, 3T* 로 나눠서 저장 나는 그냥 노가다로 풀었는데 코드가 너무 지저분하다,,,, 그렇지만,,,,,,,, 배고프니까 그냥 이렇게 놔두겠어,,,,,,,, #include #include #include #include #include #include using namespace std; int solution(string dartResult) { int answer = 0; ..

[프로그래머스/C++] 신고 결과 받기 - 2022 KAKAO BLIND RECRUITMENT

문제 : https://programmers.co.kr/learn/courses/30/lessons/92334?language=cpp 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 갑자기 푼 카카오 블라인드 2022 문제 이런 류의 문제는 너무 오랜만에 풀어서 map이랑 sstream 쓰는 거에서 시간을 많이 잡아먹었당 그래도 첫 트라이에 성공떠서 기분 쥬아~~~~ #include #include #include #include #include #include using namespace std; v..