본문 바로가기

반응형
SMALL

알고리즘 문제 풀이/Programmers

2019 KAKAO WINTER INTERNSHIP - 호텔 방 배정 거두절미하고 문제 갑시다 ! 다음 주 시험이니 시간이 없어요 ! https://programmers.co.kr/learn/courses/30/lessons/64063 코딩테스트 연습 - 호텔 방 배정 programmers.co.kr 그 당시 이 문제 개념 없이 배열로 풀었었죠. k가 10의 12승이 되니 배열의 크기 때문에 메모리가 초과하는건 당연지사. 그렇기 때문에 다른 방법이 필요했습니다. 즉, k는 그렇게 중요하지 않는 인자임을 캐치해야하며, 중요한건 손님의 원하는 방의 배열이 되겠죠. 실제로 문제를 풀 때 k를 쓰지 않았습니다. 배열이 아니면 어떤 자료구조를 써야할까요? 저는 dictionary (hash map)을 사용했습니다. 어떻게 했느냐? 예제를 통해 보시죠. 초기 값 full = {}라는.. 더보기
2019 KAKAO WINTER INTERNSHIP - 징검다리 건너기 저는 신기하게 KAKAO 문제만 보면 왜 이렇게 지레 겁부터 먹고 시작할까요? 이번 문제가 딱 그렇습니다. 정말 수 없이 풀어봤을 문제 유형인데.. KAKAO 라서 그런지 생각이 잘 안떠오르네요. 유형만 체크되면, 5분만에 풀 수 있었던 문제였는데, 말이죠 ? 본인의 실력을 믿고 푸는 마음가짐이 필요해보입니다 ! 이 문제의 경우 제가 치뤘던 겨울 인턴십 코딩테스트에서 풀지 못했던 문제였는데, 지금도 마찬가지네요. 결국엔 '이진 탐색' 키워드를 보고 문제를 풀었지만, 키워드를 머릿 속에서 떠올려야 진정한 실력이 될 수 있겠죠? 앞서 말했듯이 이 문제는 이진 탐색 문제입니다. https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건.. 더보기
2020 KAKAO BLIND RECRUITMENT - 블록 이동하기 대망의 2020 마지막 문제 블록 이동하기 입니다. 다음 주 중에 2021 KAKAO 리쿠르팅이 열리는 시점에서 문제를 다 풀었다는 점이 뜻 깊네요. 2021 KAKAO 리쿠르팅 지원하시는 분들 홧팅입니다. https://programmers.co.kr/learn/courses/30/lessons/60063 코딩테스트 연습 - 블록 이동하기 [[0, 0, 0, 1, 1],[0, 0, 0, 1, 0],[0, 1, 0, 1, 1],[1, 1, 0, 0, 1],[0, 0, 0, 0, 0]] 7 programmers.co.kr 이 문제는 사실 이론적 내용이 어렵지 않습니다. 코딩 테스트를 준비하신 분이라면 전부 아시는 BFS를 이용하는 문제니까요. 근데 이걸 막상 구현하려고 하면 좀 멈칫 멈칫 한다는게 문제인데.. 더보기
2020 KAKAO BLIND RECRUITMENT - 외벽 점검 끝이 다 와갑니다. KAKAO 외벽 점검 문제입니다. https://programmers.co.kr/learn/courses/30/lessons/60062?language=python3# 코딩테스트 연습 - 외벽 점검 레스토랑을 운영하고 있는 스카피는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 programmers.co.kr 이 문제 역시 코딩테스트 당시 도망쳤던 문제죠. 다시 풀어봅시다 !! 문제를 읽어보셨다면, 문제 변수들의 범위가 작은 것을 알 수 있습니다. 완전 탐색으로 풀어라는거죠. 그 때 당시엔 잘 몰랐는데, 이제는 어떻게 접근을 해야하는지 슬슬 보이기 시작하네요. 저는 처음에 이 문제를 .. 더보기
2020 KAKAO BLIND RECRUITMENT - 기둥과 보 설치 오늘은 KAKAO 기둥과 보 설치를 풀어보도록 합시다. https://programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 코딩테스트 당시 이 문제 보.. 더보기
2020 KAKAO BLIND RECRUITMENT - 가사 검색 안녕하세요. 오늘의 문제 풀이는 LEETCODE가 아닌 KAKAO 문제를 들고 와봤습니다. https://programmers.co.kr/learn/courses/30/lessons/60060 코딩테스트 연습 - 가사 검색 programmers.co.kr 당시 2020 KAKAO BLIND 채용 과정을 밟고 있었던 제가 풀었던 문제였는데요. (효율성은 통과 못 했.. ㅠ) 운이 좋게도 본 코딩 테스트를 통과하고, 2차 코딩 테스트까지 갔더랬죠. 그럼 뭐해 떨어졌는데 어쨋든 당시 못 풀었던 문제 복기나 해볼겸 건드려 봤습니다. 갑시다 ! 본 문제는 가사를 담고 있는 리스트 words와 알고 싶은 단어를 포함한 queries가 동시에 존재합니다. 그래서 queries에 포함한 words가 몇 개냐? 를 물어.. 더보기
다리를 지나는 트럭 - 2단계 (C++) 2단계가 맞나 싶을 정도로 저에겐 어려웠던 문제였습니다. C++을 다루는데 익숙하지 않다보니 많은 변수를 다루게 되었고, 머리 속으로 문제 확립이 안되고 코드부터 짜다보니 놓쳤던 부분도 있었네요. 그래도 풀어보니 재밌는 문제였습니다. #include #include #include using namespace std; deque br; deque br_time; deque trs; int solution(int bridge_length, int weight, vector truck_weights) { int answer = 0; int temp_trs_size = truck_weights.size(); int temp_value = 0; int time = 0; int w = 0; int temp_w =.. 더보기
기능개발 - 2단계 (C++) 두 배열을 다뤄서 반복문을 제어하는 것입니다. 음.. while문을 2개 넣었는데 분명 시간을 줄일 방법이 있을 법한데, 이 글을 보는 분에게 맡깁니다 ^_^ #include #include using namespace std; vector solution(vector progresses, vector speeds) { vector answer; int point = 0; int cnt; while (point = 100) { .. 더보기

반응형
LIST