목록프로그래머스 (17)
mojo's Blog

문제 링크 => 코딩테스트 연습 - 소수 찾기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr numbers 가 주어질 때, 임의로 숫자들을 연결시켜서 소수가 되도록 하는 모든 경우의 수를 구하는 문제이다. 이때 numbers의 길이는 7이므로 최대 9,999,999 까지 나올 수 있다. => 즉, 소수를 직접 구할 경우 어마무시한 시간 초과가 일어날 것이다. 따라서 소수를 미리 판단할 수 있도록 에라스토테네스의 체를 이용하여 미리 소수인 경우..

문제 링크 => 코딩테스트 연습 - 문자열 압축 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 문자열을 압축하는 과정은 다음과 같다. 예시로 문자열이 "xxxabcabcdede" 가 있다고 가정하자. (1) 문자열을 1개 단위로 자르는 경우 => x / x / x / a / b / c / a / b / c / d / e / d / e 이때 "x" 가 연속으로 3개 있으므로 "3x" 으로 치환이 가능하고 나머지는 연속으로 되어 있지 않으므로 그대로 써..

문제 링크 => 코딩테스트 연습 - 더 맵게 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 전형적인 Heap 문제이다. priority_queue 를 이용하여 최소힙으로 가장 작은 값과 두번째로 작은 값을 가져와서 연산을 해준다. 이러한 과정을 계속하다가 힙에 담겨진 가장 작은 값이 K보다 크거나 같아지는 경우는 counting 한 결과값을 반환하면 된다. 모든 연산이 끝나고 Heap size가 1이 되는 경우 이 또한 K보다 크거나 같아지는 ..

문제 링크 => 코딩테스트 연습 - 타겟 넘버 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 백준에서 풀어본듯한 전형적인 완전탐색문제이다. 숫자 a1, a2, a3, a4, ... , an (1

문제 링크 => 코딩테스트 연습 - 가장 큰 수 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 조건에 맞게 정렬을 하는 문제이다. 예를 들어서 53, 535 가 주어졌다고 가정하자. 두 수를 붙여서 만들 수 있는 가장 큰 수를 확인하는 과정에서 다음과 같은 작업을 할 수 있다. (1) 첫번째를 53, 두번째를 535 => 53535 (2) 첫번째를 535, 두번째를 53 => 53553 두 과..