본문 바로가기
반응형

분류 전체보기313

2020 - 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057# 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr [ 문제풀이 ] 주어진 문자열을 1부터 문자열의 절반까지 압축하여 최소 길이를 찾으면 되는 문제이다. ​주의해야 할 점은 압축하는 위치?이다. 입출력 예 #5를 보면 알겠지만 압축은 무조건 제일 앞에서 압축할 길이만큼씩 진행한다. ​또한, 문자열의 최대 길이가 1000이기 때문에 중복된 횟수는 1~1000까지 나타날 수 있다. 따라서 중복된 횟수에 따라.. 2021. 8. 8.
2019 - 블록 게임 https://programmers.co.kr/learn/courses/30/lessons/42894# 코딩테스트 연습 - 블록 게임 [[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,4,0,0,0],[0,0,0,0,0,4,4,0,0,0],[0,0,0,0,3,0,4,0,0,0],[0,0,0,2,3,0,0,0,5,5],[1,2,2,2,3,3,0,0,0,5],[1,1,1,0,0,0,0,0,0,5]] 2 programmers.co.kr [ 문제풀이 ] 2019 카카오 블라인드 기출 마지막 문제로 전형적인 완전 탐색 문제이다. 모든 블록을 하나씩 비교해가면서 제거할 수 있다면 제거.. 2021. 8. 8.
2019 - 매칭 점수 https://programmers.co.kr/learn/courses/30/lessons/42893 코딩테스트 연습 - 매칭 점수 매칭 점수 프렌즈 대학교 조교였던 제이지는 허드렛일만 시키는 네오 학과장님의 마수에서 벗어나, 카카오에 입사하게 되었다. 평소에 관심있어하던 검색에 마침 결원이 발생하여, 검색개발팀 programmers.co.kr [ 문제풀이 ] 주어진 page에서 원하는 문자열을 파싱할 수 있는지를 물어보는 문제인 것 같다. 효율성이 없는 문제이기 때문에 그냥 전체 문자열에서 indexOf 메서드를 활용하여 원하는 문자열을 추출하면 해결할 수 있다. ​어떻게 보면 문자열만 추출하면 되는 단순한 문제이지만 문제에 조건이 꽤 있기 때문에 꼼꼼하게 읽어야 한다. word는 영문자로만 구분한다는.. 2021. 8. 8.
2019 - 길 찾기 게임 https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr [ 문제풀이 ] 주어진 노드의 정보를 가지고 이진트리를 구성할 수 있다면 해결할 수 있는 문제이다. ​노드의 정보는 2차원 좌표에서의 x, y 값이며 모든 노드는 서로 다른 x 값을 가진다. 즉, 1. y가 큰 순, 2. x가 작은 순으로 정렬을 한 후 이진트리의 특징으로 노드들을 하나씩 연결해서 이진트리를 구성해 줄 수 있다. ​이진 트리에서의 전위 순회와 후위.. 2021. 8. 8.
2019 - 무지의 먹방 라이브 https://programmers.co.kr/learn/courses/30/lessons/42891# 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr [ 문제풀이 ] K 초동안 모든 음식을 순서대로 탐색한다면 정확성은 해결할 수 있지만 K가 최대 2 x 10^13이기 때문에 효율성은 통과할 수 없다. 그렇다면 어떻게 해야 효율성을 통과할 수 있을까? ​나는 보통 효율성 문제 같은 경우 제일 먼저 정렬을 해보는 편이다. K = 7, food_times가 [3, 1, 2, 2, 5]일 경우 food_times이 낮은 순으로 정렬해보자. 이전의 매초마다 food_times를 하나씩 없애는 방법을 조금 더 빨리 처리할 수는 없을까? 현재 가장 낮은 food_times는 1이다. 오름차순.. 2021. 8. 8.
2019 - 후보키 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 [ 문제풀이 ] 주어진 속성들의 모든 조합에 대해서 후보키의 조건인 유일성과 최소성을 만족하는지 판단하면 되는 문제이다. ​유일성과 최소성을 판단하는 것은 어렵지 않을 것이지만 주어진 모든 속성들의 조합을 구현하는 것이 조금 난해할 수도 있.. 2021. 8. 8.
2019 - 실패율 https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr [ 문제풀이 ] 매우 간단한 문제이다. 1~N 번 스테이지에 도전 중인 유저의 수를 구한 후 1~N 번 스테이지를 돌면서 각 스테이지의 실패율을 구해주면 된다. 실패율을 double형으로 선언하는 것만 주의해주면 된다. import java.util.*; class Solution { class Node implements Comparable { int idx;.. 2021. 8. 8.
2019 - 오픈채팅방 https://programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr [ 문제풀이 ] HashMap 자료구조를 사용한다면 쉽게 해결할 수 있는 문제이다. ​모든 record를 돌면서 Enter, Leave인 경우 HashMap에 넣어주면서 유저 아이디를 갱신해주고 Enter, Leave인 경우 채팅방 메시지를 유저 아이디와 함께 넣어준다. ​이후 정답 리스트를 돌면서 유저 아이디를 갱신된 유저 아이디로 변경해주고 출력해준다. im.. 2021. 8. 8.
백준 1484 : 다이어트 https://www.acmicpc.net/problem/1484 1484번: 다이어트 첫째 줄부터 한 줄에 하나씩 가능한 성원이의 현재 몸무게를 오름차순으로 출력한다. 가능한 몸무게가 없을 때는 -1을 출력한다. 현재 몸무게는 자연수로 떨어지지 않을 수도 있는데, 이런 경우 www.acmicpc.net [ 문제풀이 ] 수학적으로 접근하면 쉽게 해결할 수 있는 문제이다.현재 몸무게를 x, 기억하고 있던 몸무게를 y로 둔다면 다음과 같이 표현할 수 있다. G = x^2 - y^2 이를 풀어보면 다음과 같으며 결국 (x+y)와 (x-y)는 G의 약수여야 한다는 것을 알 수 있다. G = (x+y)(x-y) 따라서 루트 G부터 1까지 차례대로 탐색해주면서 G의 약수를 찾아주면 된다. 주의해야 할 점은 우리가 .. 2021. 8. 8.
반응형