PROG
-
[프로그래머스] 무지의 먹방 라이브 / 2019 KAKAO BLIND RECRUITMENT - JAVA알고리즘/프로그래머스 2021. 9. 10. 13:20
🖇️ 문제 링크 코딩테스트 연습 - 무지의 먹방 라이브 효율성 테스트에 부분 점수가 있는 문제입니다. 평소 식욕이 왕성한 무지는 자신의 재능을 뽐내고 싶어 졌고 고민 끝에 카카오 TV 라이브로 방송을 하기로 마음먹었다. 그냥 먹방을 하면 다른 방송과 차별성이 없기 때문에 무지는 아래와 같이 독특한 방식을 생각해냈다. 회전판에 먹어야 할 N 개의 음식이 있다. https://programmers.co.kr/learn/courses/30/lessons/42891 📝 문제 분석 하나씩 음식 먹는 것을 계산하다보면 효율성 테스트는 통과할 수 없습니다. 먹는데 걸리는 시간을 기준으로 오름차순 정렬을 한 뒤, 음식 하나씩 없애버리는 방법으로 진행합니다. for(; i < n; i++) { int d = (i == ..
-
[프로그래머스] 후보키 / 2019 KAKAO BLIND RECRUITMENT - JAVA알고리즘/프로그래머스 2021. 9. 10. 13:20
🖇️ 문제 링크 코딩테스트 연습 - 후보키 프렌즈대학교 컴퓨터공학과 조교인 제이지는 네오 학과장님의 지시로, 학생들의 인적사항을 정리하는 업무를 담당하게 되었다. 그의 학부 시절 프로그래밍 경험을 되살려, 모든 인적사항을 데이터베이스에 넣기로 하였고, 이를 위해 정리를 하던 중에 후보키(Candidate Key)에 대한 고민이 필요하게 되었다. 후보키에 대한 내용이 잘 기억나지 않던 제이지는, 정확한 내용을 파악하기 위해 데이터베이스 관련 서적을 확인하여 아래와 같은 내용을 확인하였다. https://programmers.co.kr/learn/courses/30/lessons/42890 📝 문제 분석 각 컬럼들의 모든 부분 집합을 만든다. 이 부분집합에 해당하는 속성들을 뽑아서 set에 저장 set사이즈..
-
[프로그래머스] 실패율 / 2019 KAKAO BLIND RECRUITMENT - JAVA알고리즘/프로그래머스 2021. 9. 10. 13:20
🖇️ 문제 링크 코딩테스트 연습 - 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스테이지 차이가 너무 큰 것이 문제였다. 이 문제를 어떻게 할까 고민 한 그녀는 동적으로 게임 시간을 늘려서 난이도를 조절하기로 했다. https://programmers.co.kr/learn/courses/30/lessons/42889 📝 문제 분석 일단 각 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 배열을 만듭니다. player[stages[i]]++ 형태로 만들고, 스테이지에 도달한 플레이어 수 배열은 clear[i] = clear[i] + clear[i + 1] + cl..
-
[프로그래머스] 오픈채팅방 / 2019 KAKAO BLIND RECRUITMENT - JAVA알고리즘/프로그래머스 2021. 9. 10. 13:19
🖇️ 문제 링크코딩테스트 연습 - 오픈채팅방카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오픈 채팅방을 개설한 사람을 위해, 다양한 사람들이 들어오고, 나가는 것을 지켜볼 수 있는 관리자창을 만들기로 했다. 채팅방에 누군가 들어오면 다음 메시지가 출력된다. "[닉네임]님이 들어왔습니다." 채팅방에서 누군가 나가면 다음 메시지가 출력된다.https://programmers.co.kr/learn/courses/30/lessons/42888 📝 문제 분석맵에 형태로 저장.결과 리스트에 일단 닉네임이 아닌 아이디와 들어온건지 나간건지 저장마지막에 출력할 때, 맵에서 아이디에 맞는 닉네임으로..
-
[프로그래머스] 자동완성 / 2018 KAKAO BLIND RECRUITMENT(3차) - JAVA알고리즘/프로그래머스 2021. 9. 8. 21:46
🖇️ 문제 링크 코딩테스트 연습 - [3차] 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g 만 입력해도 go를 추천해주므로 o를 입력할 필요가 없어진다! 단, 학습에 사용된 단어들 중 앞부분이 같은 경우에는 어쩔 수 없이 다른 문자가 나올 때까지 입력을 해야 한다. https://programmers.co.kr/learn/courses/30/lessons/17685 📝 문제 분석 세 단어를 오름차순으로 정렬했을 때 gone을 기준으로 한다면, gone은 위 문자열인 go와 "go" 두 글자가 같고, 아래 문자열인 "guild"와 "g" 한 글자가 같습니다. ..
-
[프로그래머스] 압축 / 2018 KAKAO BLIND RECRUITMENT(3차) - JAVA알고리즘/프로그래머스 2021. 9. 8. 21:45
🖇️ 문제 링크 코딩테스트 연습 - [3차] 압축 신입사원 어피치는 카카오톡으로 전송되는 메시지를 압축하여 전송 효율을 높이는 업무를 맡게 되었다. 메시지를 압축하더라도 전달되는 정보가 바뀌어서는 안 되므로, 압축 전의 정보를 완벽하게 복원 가능한 무손실 압축 알고리즘을 구현하기로 했다. 어피치는 여러 압축 알고리즘 중에서 성능이 좋고 구현이 간단한 LZW(Lempel-Ziv-Welch) 압축을 구현하기로 했다. LZW 압축은 1983년 발표된 알고리즘으로, 이미지 파일 포맷인 GIF 등 다양한 응용에서 사용되었다. https://programmers.co.kr/learn/courses/30/lessons/17684 📝 문제 분석 해시맵으로 사전을 생성합니다. 'A' ~ 'Z'까지 먼저 사전을 초기화합니..
-
[프로그래머스] 파일명 정렬 / 2018 KAKAO BLIND RECRUITMENT(3차) - JAVA알고리즘/프로그래머스 2021. 9. 8. 21:45
🖇️ 문제 링크 코딩테스트 연습 - [3차] 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램의 과거 버전을 모두 담고 있어, 이름 순으로 정렬된 파일 목록은 보기가 불편했다. 파일을 이름 순으로 정렬하면 나중에 만들어진 ver-10.zip이 ver-9.zip보다 먼저 표시되기 때문이다. https://programmers.co.kr/learn/courses/30/lessons/17686 📝 문제 분석 파일명을 정규식 매칭을 통해 3그룹으로 나눕니다. HEAD, NUMBER, TAIL 부분으로 분리하고 File 클래스를 만들어 정렬에 필요한 요소들을 저장합니다. 문제의 정..
-
[프로그래머스] 방금 그곡 / 2018 KAKAO BLIND RECRUITMENT(3차) - JAVA알고리즘/프로그래머스 2021. 9. 8. 21:45
🖇️ 문제 링크 코딩테스트 연습 - [3차] 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, 라디오 등에서 나온 음악에 관해 제목 등의 정보를 제공하는 서비스이다. 네오는 자신이 기억한 멜로디를 가지고 방금그곡을 이용해 음악을 찾는다. https://programmers.co.kr/learn/courses/30/lessons/17683 📝 문제 분석 시작 시간과 종료 시간을 분으로 바꾸고, 총 플레이 시간이 몇 분인지 구합니다. 플레이 시간에 맞게, 그만큼 연주된 악보를 만들고 네오가 기억한 멜로디를 포함하고 있다면 정답 후보입니다. 조건이 일치하는 음악이 여러 개..