프로그래밍/알고리즘
프로그래머스/해시/베스트앨범
프로그래머스/해시/베스트앨범
2021.08.10https://programmers.co.kr/learn/courses/30/lessons/42579 풀이 - 장르 별로 가장 많이 재생된 두 곡 모으기 - 가장 많이 재생된 장르 => 장르 내에서 가장 많이 재생된 노래 => 고유 번호가 낮은 노래 먼저 수록 - 해시테이블 안에 장르 클래스를 넣는 것이다 - 장르 클래스에는 재생 횟수, 2개의 노래 클래스가 들어간 리스트가 만들어짐 - 노래 클래스에는 재생 횟수와 고유 번호가 존재한다 - 장르 클래스에서 음악을 재생시킬 때, 재생 횟수를 비교하여 리스트를 갱신한다 - LinQ를 이용하여 장르 클래스의 재생 횟수가 높은 순서대로 수행 - 2개의 노래 클래스에서 각 고유 번호를 리턴한다 C# using System; using System.Collectio..
프로그래머스/해시/위장
프로그래머스/해시/위장
2021.08.07https://programmers.co.kr/learn/courses/30/lessons/42578 풀이 - 스파이들은 매번 다른 옷으로 조합해서 입어야 함 (그냥 하나의 항목만 다르면 됨) - 놀랍게도 최소 한 부위만 입으면 되므로, 티셔츠만 하나 입는 것도 가능함 :O.... 그게 스파이냐 - 서로 다른 옷 조합의 수를 return하도록 짜기 - Input은 이런 방식. ["crowmask", "face"] - 'face' 키에 밸류로 리스트를 넣으면 되겠군 - 키 하나, 둘, 셋, ..., N개를 뽑아서 조합을 시도하면 되겠군 - 조합을 시도할 때 해당 항목에 리스트의 개수를 생각해서 넣으면 되겠군 C# using System; using System.Collections.Generic; usin..
프로그래머스/해시/전화번호 목록
프로그래머스/해시/전화번호 목록
2021.08.06https://programmers.co.kr/learn/courses/30/lessons/42577 풀이 - 119, 11 9552 4421이 있으면, 후자 접두에 119가 들어있으므로 false - 접두어가 하나라도 존재한다면 false를 리턴하면 됨 - 119라면, 1, 11를 해시에 등록해두면 되는 거 아니냐 - C#을 지원하지 않아서 Java로만 풀었음 Java import java.util.HashSet; class Solution { public boolean solution(String[] phone_book) { HashSet hash = new HashSet(); for(String e : phone_book) { for(int i=1; i
프로그래머스/위클리 챌린지/부족한 금액 계산하기
프로그래머스/위클리 챌린지/부족한 금액 계산하기
2021.08.06https://programmers.co.kr/learn/courses/30/lessons/82612 풀이 - 원래 이용료 price => n번째 이용 시 price * N - count번 타는 경우, 현재 가진 금액에서 모자란 금액을 return - 부족하지 않으면 0 return - count번 반복하여, money에서 price * n을 빼면 되는 간단한 문제 - long으로 반환이 안되는 케이스가 있어서 아예 long으로 선언해버림 ^_^.... C# using System; class Solution { public long solution(int price, int money, int count) { long _money = money; for(int n=1; n= 0) return (long..
프로그래머스/해시/완주하지 못한 선수
프로그래머스/해시/완주하지 못한 선수
2021.08.01https://programmers.co.kr/learn/courses/30/lessons/42576 강의 듣기 전 풀이 - Java로 풀이 - 꼴찌는 완주에서 제외 - 동명이인 존재 가능 - 완주하지 못한 선수의 이름 return 1) string, int 해시맵을 작성 2) 완주한 선수 이름이 call될 때마다 해시값에 +1 3) 참가자 선수 이름으로 반복, 해시값에 -1 4) -1을 수행할 때, 해시값이 0보다 크지 않다면 해당 이름 리턴 class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; //해시맵 작성 java.util.HashMap hash = new java..