12.偽装
2351 ワード
https://programmers.co.kr/learn/courses/30/lessons/42578?language=java
今まで解いた問題の中で一番煩わしい問題は1日で終わっていない問題は翌日10分で終わります.
コアクリエイティブ
1.服の種類別に何枚あるか
何も着ていない場合の水道水を追加!
1)の服の数は30着が最も多く、そのため、すべての服が異なる種類であっても、30着が 着が最も多い.
2)分類String[][服]
1)服が1つしかない場合は、服の数を返します.
今まで解いた問題の中で一番煩わしい問題は1日で終わっていない問題は翌日10分で終わります.
コアクリエイティブ
1.服の種類別に何枚あるか
何も着ていない場合の水道水を追加!
1)
HashMap<String, Integer> classification = new HashMap<String, Integer>(30);
2)分類String[][服]
for(int i=0;i<clothes.length;i++){
//등록이 안된 종류일 경우 value를 2로 하여 등록
if(!classification.containsKey(clothes[i][1])){
classification.put(clothes[i][1], 2);
}
//등록이 된 경우는 value에 1 추가
else {
classification.put(clothes[i][1], classification.get(clothes[i][1])+1);
}
}
2.すべての種類の服を1枚ずつ着るときの数、そして何も着ていない場合の数1を抜きます.1)服が1つしかない場合は、服の数を返します.
if(classification.size()==1) {
return clothes.length;
}
2)タイプが2個より大きい//분류햇을 때 종류가 두가지 이상인 경우
int sum = 1;
for(String s : classification.keySet()){
sum *= classification.get(s);
}
return sum-1;
プログラマ最終コードimport java.util.*;
class Solution {
HashMap<String, Integer> classification = new HashMap<String, Integer>(60);
public int solution(String[][] clothes) {
for(int i=0;i<clothes.length;i++){
if(!classification.containsKey(clothes[i][1])){
classification.put(clothes[i][1], 2);
} else {
classification.put(clothes[i][1], classification.get(clothes[i][1])+1);
}
}
if(classification.size()==1) {
return clothes.length;
}
else {
int sum = 1;
for(String s : classification.keySet()){
sum *= classification.get(s);
}
return sum-1;
}
}
}
Reference
この問題について(12.偽装), 我々は、より多くの情報をここで見つけました https://velog.io/@voicesplit/12.-해쉬-위장テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol