본문 바로가기

Algorithm98

2019 Kakao blind 42891 - 무지의 먹방 라이브(배열 순회, 우선순위큐) c++ 풀이 https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr - 일단 효율성 테스트 조건이 굉장히 빡세므로(k가 20조) 복잡도를 낮추기 위한 logN 알고리즘을 사용할 것을 가정에 두고 문제를 읽어내려갔다. - 주어진 food_times 벡터에서 가장 작은 소요시간을 가진 음식을 소거시켜나가는 사이클을 돌리는 식으로 문제를 풀었다. 여기서 가장 작은 소요시간을 가진 음식을 남은 시간 k보다 남은 음식을 가지고 사이클 한바퀴를 도는 시간이 길어서 k초 전에 사이클이 끝나는 경우가 나올 때까지 다 먹은 음식을 소거시켜 나가야된다. 그래서 빠르게 최소소요시간을 찾을 수 있게 최소힙을 이용하였다. .. 2021. 9. 6.
2019 Kakao blind 42890 - 후보키(완전탐색, 비트마스킹) c++ 풀이 https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["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 - 일단 후보키 개념이 문제에서 설명되어 있지만 이 개념을 미리 알고 있어야 더 쉽게 접근해볼만한 문제였다. 후보키 개념이 잘 이해가 안 가서 데이터베이스 대학강의를 다시 들어보았다. 알고리즘 과목 외의 CS개념이 있어야 이해가 가능한 문제.. 2021. 9. 6.
2019 Kakao blind 42889 - 실패율(구현, 숫자 연산) c++ 풀이 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr - 각 스테이지마다 남은 도전자와 실패율을 계산한 뒤에 실패율이 높은 스테이지부터 내림차순으로 answer에 담아주면 된다. - 스테이지 번호와 실패율을 pair로 담아 소팅해줘도 되는데 idx 처리하는게 귀찮아서 그냥 실패율만 계산해서 최대값을 구한뒤 -INF를 넣어서 제외시키는 방식으로 풀었다. 이래도 제한범위가 좁아서 충분히 통과한다. #include #i.. 2021. 9. 6.
2019 Kakao blind 42888 - 오픈채팅방(문자열 파싱, 구현) c++ 풀이 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr - 해쉬맵으로 들어온 유저, 아이디를 바꾼 유저를 계속 업데이트 해주고, 들어오고 나간 결과값 스트링 벡터를 만들어서 리턴해주면 된다. - stringstream은 c++로 문자열 파싱문제를 푸는 데 있어서 구세주다.. strtok 방식과 함께 익혀두면 좋다. #include #include #include #include #include using namesp.. 2021. 9. 6.