Algorithm/프로그래머스

    [c++] 프로그래머스 - 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT)

    [c++] 프로그래머스 - 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT)

    🔗 문제 링크 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 📂 분류 문자열, 구현, 자료구조 💡 풀이 카카오 코테에서 자주 출제되는 문자열 처리 후 구현하는 문제이다. 우선 id를 매핑하기 위해 map이 필요하다. 그리고 유저 ID와 유저가 신고한 ID를 저장하는 자료구조를 map과 2차원 vector를 고민하다가 2차원 vector로 하기로 했다. 한 유저가 동일한 유저에 대한 신고 횟수는 1회이기 때문에 vector로 선언을 하고 report를 공백 분리한 후 유저 ID와 유저가 신고한 ID 테..

    [C++] 프로그래머스 - 더 맵게 (Level 2)

    [C++] 프로그래머스 - 더 맵게 (Level 2)

    🔗 문제 링크 코딩테스트 연습 - 더 맵게 매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같 programmers.co.kr 📂 분류 Heap 자료구조 💡 풀이 전형적인 우선순위 큐를 활용해서 푸는 문제다. 주어진 스코빌 지수들 중에서 가장 작은 스코빌과 두 번째로 작은 스코빌을 뽑아 K 이상일 때까지 수행해야 하기 때문에 최소 힙을 이용해서 풀면 된다. 📌 주의할 점 pq의 원소 두 개를 뽑기 때문에 로직을 수행할 때 pq.size()는 2보다 커야 한다. 💻 코드 #include using namespace std; int solution(vector s..

    [자바] 프로그래머스 - H-Index (Level 2)

    [자바] 프로그래머스 - H-Index (Level 2)

    🔗 문제 링크 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 📝 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n 편 중, h번 이상 인용된 논문이 h 편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은..

    [자바] 프로그래머스 - 위장 (Level 2)

    [자바] 프로그래머스 - 위장 (Level 2)

    🔗 문제 링크 코딩테스트 연습 - 위장 programmers.co.kr 📂 분류 해시, 조합 💡 풀이 처음 풀이는 부분 집합과 경우의 수를 구하는 공식을 이용하여 접근해서 풀었다. 하지만 이렇게 풀었더니 1번 테스트케이스만 시간 초과가 떠서 만점을 받지 못했다. 시간을 어떻게 줄여야할지 생각이 나지않아서 질문하기를 참고했는데 모든 조합을 구할 필요 없이 안입는 경우를 더해 경우의 수를 구하면 됐다. 풀이 과정 주어진 clothes메서드를 의상 종류를 key로 두고 value는 해당하는 key의 개수로 둬서 Map에 저장한다. 각 해당하는 의상 종류의 개수를 +1 해주고 경우의 수를 구한다. 모든 옷을 안입는 경우는 없으니 return할땐 -1을 해준다. 💻 코드 만점 코드 import java.util...

    [자바] 프로그래머스 - 다리를 지나는 트럭

    [자바] 프로그래머스 - 다리를 지나는 트럭

    🔗 문제 링크 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 📂 분류 시물레이션 큐 💡 풀이 문제 설명에 트럭의 전진이 안나와있어서 이해하는데 좀 오래걸렸는데 질문목록을 보니 나만 그런게 아니였다. 다리를 큐로 선언하고, 트럭들을 큐에 넣고 빼주는 것을 구현하면 된다. 큐에 트럭을 넣을 수 있는 조건은 큐가 비어있는 경우 큐가 가득차지 않은 경우 무게가 초과 되지않은 경우 이렇게 3가지가 있다. 위 조건이 만족하지 않으면 다음 트럭이 다리는 지날 수 있도록 0을 넣어주면서 poll..