Algorithms/programmers

    [Hash] 신고 결과 받기, 베스트앨범

    1. 신고 결과 받기 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 한 유저를 여러 번 신고해도 동일한 유저에 대한 신고 횟수가 1회로 처리되는 조건, 즉 중복이 허용 되지 않는다. 따라서 HashMap+HashSet 사용한 문제 import java.util.*; class Solution { public int[] solution(String[] idList, String[] report, int k){ int num = idList.length; int[] answer = new int[num]; HashMap map = new HashMap(); ..

    [Hash] Lv.1 폰켓몬, 완주하지 못한 선수

    1. 폰켓몬 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 중복이 허용되지 않는 HashSet 자료구조를 사용하면 바로 풀 수 있는 문제 ex) [3,3,3,2,2,4]를 HashSet에 저장하면 중복되는 숫자를 제외한 3,2,4만 저장된다. import java.util.*; import java.io.*; class Solution { public int solution(int[] nums) { int answer = 0; int pokemon = nums.length/2; HashSet set = new HashSet(); for(int i = 0;..

    [Binary Search Tree] 길 찾기 게임

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr class를 사용하여 이진 탐색 트리 구현하기 y가 같을 때(level이 같을 때) x좌표는 오름차순으로. 이외에는 y좌표 내림차순으로 import java.io.*; import java.util.*; class Node{ Node right; Node left; int value; int x; int y; public Node(int value, int x, int y, Node right, Node left) { this.value = value; this.x = x; this.y = y; this.ri..

    [이분탐색] 징검다리 건너기

    https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에 이 문제를 보자마자 while문을 돌리면서 단순히 밟은 디딤돌을 -1 해주는 식으로 코드를 짰더니 testcase는 정답이였지만 어마어마한 시간 초과가... 그래서 이분탐색으로 경로 변경함. 처음에 건널 수 있는가? < 라는 boolean 값을 변수로 선언했는데 자꾸만 답이 3이 아니라 4가 나오거나 시간 초과가 뜨는 것이다... 코드 짜임새도 요상하고 길어지기만 해서 새로운 boolean..

    [이분탐색] 프로그래머스 입국심사

    https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr start 지점: times의 최솟값 end 지점: n명 모두가 심사를 받을 때 가용할 수 있는 최대 시간 📌주의할 점 long end = (long)times[times.length-1]*n; times가 int 배열이므로 (long)으로 형변환 해주기. 요 부분 빼먹으니 정확도 55퍼 나오더라... import java.util.*; class Solution { public long solu..

    [Greedy] 프로그래머스 체육복, 큰 수 만들기, 구명보트, 단속카메라

    [Greedy] 프로그래머스 체육복, 큰 수 만들기, 구명보트, 단속카메라

    체육복 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; import java.io.*; class Solution { public int solution(int n, int[] lost, int[] reserve) { int answer = 0; int resP = reserve.length; //여벌 체육복 가진 학생 수 int lostP = lost.length; PriorityQueue pqStudent..