본문 바로가기

알고리즘44

[c++][프로그래머스] 순위 검색 프로그래머스 순위 검색 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72412 key = "----" 1 (0001) -> key = "java---" 5 (0101) -> key = "java-junior-" 15 (1111) -> key = "javabackendjuniorpizza" 코드 #include #include #include #include using namespace std; vector data_parse(string data) { vector ret; string tmp = ""; for(auto c: data) { if(c == ' ') { if(tmp != "and") ret.p.. 2022. 2. 8.
[c++][프로그래머스] 메뉴 리뉴얼 프로그래머스 메뉴 리뉴얼 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 문제 풀이 이 문제는 조합(combination)을 활용하여 해결하는 문제입니다. 일반적으로 조합을 구하는 방법은 DFS를 활용하여 재귀적으로 구하는 방법과 next_permutation, prev_permutation을 활용하여 반복문으로 구하는 방법이 있는데, 저는 next_per.. 2022. 2. 7.
[c++][프로그래머스] 신규 아이디 추천 프로그래머스 신규 아이디 추천 [2021 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/72410 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 문제 설명 이 문제는 문자열 처리 문제입니다. 신규 아이디를 입력 받았을 때 다음과 같이 7단계를 거쳐 문자열을 처리하고 새로운 아이디를 추천 해 줍니다. 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼.. 2022. 1. 28.
[c++][프로그래머스] 사라지는 발판 프로그래머스 사라지는 발판 [2022 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/92345 코딩테스트 연습 - 사라지는 발판 [[1, 1, 1], [1, 1, 1], [1, 1, 1]] [1, 0] [1, 2] 5 [[1, 1, 1], [1, 0, 1], [1, 1, 1]] [1, 0] [1, 2] 4 programmers.co.kr 문제 풀이 이 문제는 두 플레이어가 번갈아가면서 플레이하여 둘 다 최적의 플레이를 했을 경우 게임이 몇 턴이 진행되는지 알아내는 문제입니다. 최적의 플레이에 대한 정의가 두 가지가 있습니다. 이길 수 있는 플레이어는 최대한 빨리 승리하도록 플레이하고, 질 수밖에 없는 플레이어는 최대.. 2022. 1. 26.
[c++][프로그래머스] 파괴되지 않은 건물 프로그래머스 파괴되지 않은 건물 [2022 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,1]] 10 [[1,2,3],[4,5,6],[7,8,9]] [[1,1,1,2,2,4],[1,0,0,1,1,2],[2,2,0,2,0,100]] 6 programmers.co.kr 문제 설명 이 문제는 정확성과 효율성 테스트가 각각 점수가 있는 문제입니다. 정확성 테스트를 해결하기 위해서는 아주 간단.. 2022. 1. 25.
[c++][프로그래머스] 양과 늑대 프로그래머스 양과 늑대 [2022 KAKAO BLIND RECRUITMENT] https://programmers.co.kr/learn/courses/30/lessons/92343 코딩테스트 연습 - 양과 늑대 [0,0,1,1,1,0,1,0,1,0,1,1] [[0,1],[1,2],[1,4],[0,8],[8,7],[9,10],[9,11],[4,3],[6,5],[4,6],[8,9]] 5 [0,1,0,1,1,0,1,0,0,1,0] [[0,1],[0,2],[1,3],[1,4],[2,5],[2,6],[3,7],[4,8],[6,9],[9,10]] 5 programmers.co.kr 문제 풀이 이 문제는 BFS, 비트마스킹을 사용해 해결했습니다. 루트 노드에서 시작하여 다음으로 방문할 수 있는 모든 경우의 수를 추가.. 2022. 1. 24.