programmers/level2 51

[프로그래머스] 전화번호 목록 (Java)

프로그래머스 level2 [해시] 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577?language=java 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 처음에 phone_book 배열을 문자열의 길이 순으로 정렬해서 풀었는데, 효율성에서 자꾸 시간초과가 나와서 질문하기를 확인했다. 풀이는 간단했다. 사전 순 정렬을 하게되면 같은 접두어로 시작하는 문자열중에 짧은 문자열이 앞으로, 긴 문자열이 그 뒤로 정렬이 되기 때문에, 현재 문자열의..

programmers/level2 2021.08.03

[프로그래머스] 문자열 압축 (Python)

프로그래머스 level2 [2020 KAKAO BLIND RECRUITMENT] 문자열 압축 https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 이 문제는 비교적 단순하게 접근해서 풀었다. 입력받은 문자열 길이의 절반 부터 1까지 반복문을 돌면서, 절반 길이로 압축할 수 있는지 확인하고, 압축한 문자열의 길이와 answer를 비교하여 더 작은 값을 answer에 저장한다. 다음에는 절반 길이보다 하나 작은..

programmers/level2 2021.07.30

[프로그래머스] 주식가격 (Java)

프로그래머스 level2 [스택/큐] 주식가격 https://programmers.co.kr/learn/courses/30/lessons/42584?language=java 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 이 문제도 문제를 이해하는게 조금 어려웠고, 문제를 푸는 건 쉽게 풀었다. Java code class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.len..

programmers/level2 2021.07.28

[프로그래머스] H-Index (Java)

프로그래머스 level2 [정렬] H-Index https://programmers.co.kr/learn/courses/30/lessons/42747?language=java 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 이 문제는 문제를 이해하는게 시간이 걸렸고, 이해하고 나니 금방 문제를 풀 수 있었다. Java code import java.util.Arrays; class Solution { public int solution(int[] citations) { int ..

programmers/level2 2021.07.28

[프로그래머스] 프린터 (Java)

프로그래머스 level2 [스택/큐] 프린터 https://programmers.co.kr/learn/courses/30/lessons/42587?language=java 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 인덱싱이 조금 까다로운 문제였다. 문제에 나온 대로 현재 문서가 지금 있는 문서 목록 중 중요도가 가장 높다면 프린트를 하고, 아니라면 다음 문서를 확인하는 방식으로 문제를 풀었다. Java code class Solution { public int solution(int[] priorities,..

programmers/level2 2021.07.27