DAILY
5월 14일 알고리즘 연습
ssund
2023. 5. 14. 20:07
https://school.programmers.co.kr/learn/courses/30/lessons/181916
function solution(a, b, c, d) {
let dict = new Map();
let numbers = [a, b, c, d];
let answer = 1;
numbers.map((number) => {
dict.set(number, (dict.get(number) || 0) + 1);
})
switch(dict.size) {
case 1:
answer = 1111 * a;
break;
case 2:
const [p, q] = dict.keys();
if (dict.get(p) === 3) {
answer = Math.pow(10 * p + q, 2);
break;
}
if (dict.get(q) === 3) {
answer = Math.pow(10 * q + p, 2);
break;
}
answer = (p + q) * Math.abs(p - q)
break;
case 3:
dict.forEach((value, key) => {
if (value === 1) {
answer *= key;
}
})
break;
case 4:
answer = Math.min(a, b, c, d)
break;
default:
break;
}
return answer;
}
solution(6, 4, 2,5);
new Map()을 이용해서 딕셔너리 객체를 만들어서
키에 숫자가 들어가고, 값으로 숫자 몇개가 있는지 카운트가 들어간다.
// new Map()에 관련된 속성
let map = new Map();
map.size; // 몇개의 키가 들어있는지
map.set(key, value)
map.get(key)
map.forEach((value, key) => {
})
https://school.programmers.co.kr/learn/courses/30/lessons/181915
string index는 string[index]로 접근할수있다.
https://school.programmers.co.kr/learn/courses/30/lessons/181913
문자열 메소드
1. substr : 시작 인덱스와 길이(생략 가능)를 정해서 문자열 자르기
2. substring : 시작 인덱스와 끝 인덱스(생략 가능)를 정해서 문자열 자르기
3. slice : 시작 인덱스와 끝 인덱스(생략 가능)를 정해서 문자열 또는 배열 자르기
4. splice : 시작 인덱스와 길이(생략 가능)를 정해서 배열 자르기
5. split : 문자열을 나눌 구분자와, 잘라진 문자열의 최대 갯수(생략 가능)를 정해서 문자열 자르기
https://school.programmers.co.kr/learn/courses/30/lessons/181912
https://school.programmers.co.kr/learn/courses/30/lessons/181911