[프로그래머스 알고리즘 고득점 Kit][해시][Java] 베스트앨범
·
알고리즘 & 자료구조/해시
https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이 문제는 알고리즘 초보자라면 꼭 풀어봐야할 문제 같았다.정렬 기준이 여러 개,여러 타입의 변수를 어떻게 관리할 것인가를 고민해볼 수 있는 문제 1. 정답 코드필요한 데이터는 노래 하나에 대해서 장르가 무엇인지그 장르는 총 몇 회 플레이 되었는지이 노래는 몇 회 플레이 되었는지몇 번 노래인지이렇게 뭐가 많이 필요할 때는 가장먼저 클래스를 떠올리는 것같다.배열로 어떻게 할 수는 있겠지만그냥 편하니까.그리고 조금 헷갈렸던 것이장르당 2개씩 가져오는 것을 어..
[프로그래머스 알고리즘 고득점 Kit][이분탐색][Java] 입국심사
·
알고리즘 & 자료구조/이분 탐색
https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드이분탐색문제라는 것을 알아도... 어떤 것을 기준을 잡을지참 어려웠다.그래도 얼마 전에 풀었던 https://www.acmicpc.net/problem/6236백준 - 용돈관리와 비슷한 느낌이 들어서심사하는 데 사용될 전체 시간을 기준으로 하면 될 것을 알았다.start = 1;end = 최악의 상황(10억 * 10억) -> 10억 명이 있고 10억 분 걸리는 한 명의 심사관이 있을 때.나는 기본을 잊어 10억 * 10억이 오버플로우 나버렸다.i..
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 의상
·
알고리즘 & 자료구조/해시
https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 정답 풀이각 의류 타입의 갯수를 센다.하나의 타입을 여러개 입지 못하니까 그 타입이 가질 수 있는 경우의 수는 안입는다 1번을 입는다, 2번을 입는다. ... 이렇게 된다.안입는다를 포함해서 갯수 + 1을 타입별로 전부 곱하면 전체 경우의 수가 나온다.import java.util.*;class Solution { public int solution(String[][] clothes) { HashMap closet = new Has..
[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 같은 숫자는 싫어
·
알고리즘 & 자료구조/스택
https://school.programmers.co.kr/learn/courses/30/lessons/12906 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 정답 풀이스택과 큐 항목에 들어있지만 그냥 리스트로 하나씩 비교하면 된다고 생각해서 그렇게 구현함정답은 배열하나씩 비교하면서 넣기 때문에 그 크기를 처음부터 정할 수 없기때문에 동적배열인 ArraList를 사용했지만 return은 int[] 배열로 달라하니...리스트를 int배열로 바꿀 수 밖에 없었다.toArray와 같은 메서드를 쓰고 싶었지만 반환이 Integer[] 이라서 기각.프로그래머스 아직 적응하려면 멀었다.import java.util...
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 전화번호 목록
·
알고리즘 & 자료구조/해시
https://school.programmers.co.kr/learn/courses/30/lessons/42577?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr1. 틀린 코드문자열을 사전순으로 정렬하면 접두사는 바로 옆에 있게됨그러면 바로 옆만 비교하면서 접두사인지 아닌지 체크하고 있으면 바로 false return 안되고 반복문 탈출하면 true뭐가 틀렸을까...?아 바본가.. Arrays.sort(phone_book, (s1, s2) -> { return s1.length() - s2.length(); });처음엔 문자열 길이가 짧은 거를..
[프로그래머스 알고리즘 고득점 Kit][해시][Java] 포켓몬
·
알고리즘 & 자료구조/해시
https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr정답 코드포켓몬 종류수와 내가 선택해야할 포켓몬 수를 비교해서종류 수가 더 많다면 선택해야할 모든 포켓몬이 중복이 없고 (cnt > len/2 -> len/2만큼 뽑고도 중복없는 포켓몬이 남음)종류 수가 더 적다면 전부 다르게 선택할 수 있음 (cnt cnt만큼 뽑고 나머지는 중복)import java.io.*;import java.util.*;class Solution { public int solution(int[] nums) { i..