본문 바로가기

전체 글61

스택/큐 - 기능개발 프로그래머스 (스택/큐) 기능개발 이 문제는 금방 풀긴 했는데, 테스트 케이스에서 정상적으로 통과 못한 문제가 있었다. 원인은 완료날짜 구할때 소수 날짜인 경우 올림해서 날짜를 구해야 하는데 그렇게 하지 않아 통과를 못한케이스로 보인다. days = (100 - progresses) / speeds 로 작업 진도가 100이 넘을 날짜를 먼저 구한후 순차적으로 넘으면 결과스택에서 답을 꺼내 다시 push 하고 아닌경우 다음 완료 날짜 구해서 push 하는 방식으로 구현했다. 결과를 array로 다시 내보내야 해서 pop으로 데이터를 꺼내면 array에 집어 넣었다. import java.util.Stack; class Solution { public int[] solution(int[] progresses.. 2022. 2. 3.
해시 - 위장 프로그래머스(해시) - 위장 해당 문제는 고민을 많이 했는데, 결론은 입지않음이라는 경우의 수를 포함하여 계산하도록 함 일단 옷 종류 별 가지고 있는 가지수에 입지 않는다라는 경우를 포함하여 카운트 하도록 하고, 이후 전부 입지 않는다는 없으므로 그 경우를 뺀것으로 결론을 내도록 함 import java.util.Map; import java.util.HashMap; class Solution { public int solution(String[][] clothes) { int answer = 1; Map clothesMap = new HashMap(); for(String[] clothesInfo : clothes) { clothesMap.put(clothesInfo[1], clothesMap.getO.. 2022. 2. 3.
해시 -전화번호목록 프로그래머스(해시) 전화번호목록 이번 문제는 하나의 번호를 접두사로 사용하는 번호가 있는지 확인하라는 문제이다. 이전 문제에서 정렬을 해서 풀수 있었다는것을 힌트로, 일단 정렬을 한 후, 그것을 접두어로 사용하는 것이 있는지 확인 하도록 했다. 접두어의 기준은 비교하려고 하는 문자열의 길이보다 접두어가의 길이가 큰경우는 아예 비교하지 않고 접두어를 바꾸고, 아닌경우에는 각 자리를 비교하면서 비교했다. import java.util.Arrays; class Solution { public boolean solution(String[] phone_book) { boolean answer = true; if(phone_book.length == 1) { return true; } Arrays.sort(phon.. 2022. 2. 3.