티스토리 뷰

공부/코딩테스트

프로그래머스 위장

데자와 맛있다 2022. 11. 13. 02:46

-2022년 10월 첫째주 공부내용 옮겨 씀-

 

-주소:https://school.programmers.co.kr/learn/courses/30/lessons/42578

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

-문제

-옷을 입는데 최소 한개는 입어야됨(바지 왜 안입어도 되냐고 바바리맨이냐고)

[[옷이름,옷의유형],[옷이름,옷의유형]] 와 같은 형식으로 옷이 뭐뭐 있는지 알려줌

-모든 조합의 수를 return하라

-옷이름 중복되는것은 없다


-아이디어

해시에 옷종류:[옷이름,옷이름2,옷이름3] 이 형식으로 저장하고

옷종류의 수 대로 경우의수를 계산하면 될듯함


-코드: 옷 종류 경우의 수 만드는 공식을 몰라서 힌트 봄

문제를 풀다 경우의수를 만드는 공식을 모르겠어서 힌트를 봤다.. 

곱셈 공식을 쓰면 공식을 만들어낼 수 있다(솔직히 기억안남)

-곱셈공식:https://mathbang.net/311

 

곱셈공식, 곱셈공식 유도, 고1 곱셈공식

곱셈공식이에요. 중학교 때 곱셈공식 1, 곱셈공식 2에서 다섯 개의 곱셈공식을 공부했어요. 이 곱셈공식을 잘 외워두면 다항식의 곱셈을 할 때 과정을 생략하고 바로 결과를 이끌어낼 수 있었죠?

mathbang.net

import java.util.HashMap;
import java.util.ArrayList;
class Solution {
    public int solution(String[][] clothes) {
        int answer = 0;
        HashMap<String,Integer> cloth_map=new HashMap<String,Integer>();
        ArrayList cloth_types=new ArrayList();
        for(int i=0;i<clothes.length;i++){
            cloth_map.put(clothes[i][1],cloth_map.getOrDefault(clothes[i][1],0)+1);
        }
        for(HashMap.Entry entry:cloth_map.entrySet()){
            if(answer==0){
                answer=(int)entry.getValue()+1;
            }else{
                answer=((int)entry.getValue()+1)*answer;
            }
        }
        
        return answer-1;
    }
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함