알고리즘/프로그래머스 카카오
-
프로그래머스 Lv.2) n진수 게임알고리즘/프로그래머스 카카오 2020. 5. 26. 23:06
2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0� programmers.co.kr 풀이 개인적으로는 가장 어려운 문제였다. 오랫동안 풀지 못해서 카카오 해설을 봤는데 정답률이 96%정도..? 된 것 같았다. 마음이 아프다... 어떻게 해야 효율적일지, 수학식을 생각하다가 시간을 보내고 머리가 복잡해지면서 지친 것같다. 도저히 안되겠길래 문제 풀이 포스팅을 찾아보았는데, 최대가 16진수니까 16진수에 맞춰 미리 char 배열을 만들어 두고, 최대 경우의 ..
-
프로그래머스 Lv.2) 파일명 정렬알고리즘/프로그래머스 카카오 2020. 5. 26. 22:46
2018 KAKAO BLIND RECRUITMENT [3차] 파일명 정렬 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램�� programmers.co.kr 풀이 문제를 푸는데 시간이 꽤 걸렸다. 처음에는 head, number, tail 그리고 파일명을 담는 클래스를 만들어, 우선순위큐에 조건에 따라 저장될 수 있게 설정해주었는데, 모든 조건이 같은경우 먼저 들어온 파일이 우선순위가 된다는 조건을 설정할 때, 매우 불안정했다. 그래서 테스트케이스에서 4문제인가 밖에 통과하지 못했다. 그래서 잠깐의 휴식을 취한 뒤에, 직접 조건에..
-
프로그래머스 Lv.2) 압축알고리즘/프로그래머스 카카오 2020. 5. 26. 22:32
2018 KAKAO BLIND RECRUITMENT [3차] 압축 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr 풀이 오늘 푼 문제중에 제일 쉽게 푼 문제였다. 기본 알파벳 A-Z 까지 사전에 미리 등록하고, 입력받은 문자열을 돌면서 조건에 따라 사전에 추가, 출력할 색인 번호를 담아주었다. 사전으로는 HashMap을 선택하여 특정 문자를 포함하고 있는지, 포함하고 있다면 색인 번호를 받아왔다. 출력할 색인 번호는 로직에 따라 ArrayList에 순서대로 담은 뒤, 마지막에 해당 크기만큼 배열을 만들어 저장해주어 리턴했다. 로직 ..
-
프로그래머스 Lv.2) 방금그곡알고리즘/프로그래머스 카카오 2020. 5. 25. 23:28
2018 KAKAO BLIND RECRUITMENT [3차] 방금그곡 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, �� programmers.co.kr 풀이 꽤나 까다로운 문제였다. 악보에 사용되는 음이 A,B,C 단순 문자와 함께 올림표가 포함된 C#,D# 이런 문자가 함께 있어서 그런 것 같다.. 다른 분들은 음표를 변형해서 풀었다는 글도 보았고, 쉽게 푸신분도 있다고 하는 것 같은데 나는 그렇지 않았다. 먼저 테스트 케이스에서 계속 실패하던 부분을 살펴보면, 1. 처음 음악의 악보를 저장할 때, 올림표가 포함된 악보 저..
-
프로그래머스 Lv.2) 후보키알고리즘/프로그래머스 카카오 2020. 5. 22. 23:18
2019 KAKAO BLIND RECRUITMENT 후보키 코딩테스트 연습 - 후보키 [["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 풀이 정말 어려웠다. 매우매우 복잡한 문제였다. 이 문제가 레벨 2라는 것에 의문이 들었다... 처음에는 단일 애트리뷰트가 후보키가 되는 경우를 저장하고, 이 경우를 제외하고 키를 두개부터 row의 수만큼 순열을 구해 가장 작은 자리 수 까지만 후보키를 구하려고 했다. 하지만, 위의..
-
프로그래머스 Lv.2) 오픈채팅방알고리즘/프로그래머스 카카오 2020. 5. 22. 23:05
2019 KAKAO BLIND RECRUITMENT 오픈채팅방 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr 풀이 오늘 푼 문제 중에 가장 간단한 문제였다. 크게 주의해야할 부분 없이 입장, 퇴장 명령어를 저장시키는 LinkedList와, 유저 id에 따라 이름을 저장할 HashMap 두 자료구조를 이용해 풀었다. 명령어에 따라 변경인 경우 닉네임을 변경해주었고, 입장이나 퇴장 명령어는 명령어 List에 저장했다. 이후 명령어 리스트 만큼 정답 배열을 만들고, 리스트를 돌면서 미리 저장해둔 멘트와 유저 아이..
-
프로그래머스 Lv.2) 캐시알고리즘/프로그래머스 카카오 2020. 5. 22. 23:00
2018 KAKAO BLIND RECRUITMENT [1차] 캐시 코딩테스트 연습 - [1차] 캐시 3 [Jeju, Pangyo, Seoul, NewYork, LA, Jeju, Pangyo, Seoul, NewYork, LA] 50 3 [Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul, Jeju, Pangyo, Seoul] 21 2 [Jeju, Pangyo, Seoul, NewYork, LA, SanFrancisco, Seoul, Rome, Paris, Jeju, NewYork, Rome] 60 5 [Jeju, Pangyo, S programmers.co.kr 풀이 LRU 부분말고는 버벅이지 않은 문제다. 오랜만에 보는 LRU 때문에 처음에 그냥 Queue에 따라서 poll하면 ..
-
프로그래머스 Lv.2) 프렌즈4블록알고리즘/프로그래머스 카카오 2020. 5. 22. 22:53
2018 KAKAO BLIND RECRUITMENT [1차] 프렌즈4블록 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 풀이 이 문제는 큰 어려움 없이 푼 것 같다. 전체 board를 돌면서 4개가 모여있는 구역을 int 배열을 통해 표시해주고, 전체 탐색이 끝날 때 마다 표시된 구역을 지우면서 카운트를 세주었다. 이 때, 지워진 블록 위에 있는 블록들을 아래로 하나씩 내리면서 블록을 당겨주었다. while문을 통해 삭제가 진행되지 않을 때 까지 진행해주었다. 로직 1. 전체 boar..