일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- git 개행문자
- 프로그래머스
- git autocrlf
- input 안보임
- CRLF
- 개행문자
- 원시값
- vscode
- 퀵정렬
- lazy-load
- JadenCase
- prettier
- eslint
- git 명령어
- REST API
- expected linebreaks to be 'crlf' but found 'lf' linebreak-style
- 응답코드
- expected linebreaks to be 'lf' but found 'crlf' linebreak-style
- k번째수
- input type password
- 참조타입
- 가장큰수
- CRA
- IP주소
- HTTPS
- password 안보임
- react
- git
- eslint-prettier
- LF
Archives
- Today
- Total
우파루파의 개발 기록
[프로그래머스] 위장 본문
안녕하세요.
이번 문제는 프로그래머스 2단계 - 위장 입니다.
이번 문제도 저번 글과 마찬가지로 해시 테이블을 사용해 해결해야 하는 문제입니다.
추가적으로 수학 공식이 필요해서, 수학 공식을 열심히 서치해서 풀었습니다.
문제가 조금 이상하다고 생각합니다.
이게.. 아무리 위장이라지만.. 상의와 바지는 필수로 입어야 하지 않을까요?
모든 옷 종류 중 한가지만 입어도 된다는게 조금 의아했습니다.
코트만 입고 다니면 바로 바바리맨 확정입니다.
우리는 모두 적절한 위장을 위해서 상의와 하의는 꼭 입는게 좋을 것 같습니다.
하지만 일단 문제가 요구하는 바를 따른 정답은 다음과 같습니다.
function solution(clothes) {
const hash = new Map();
for (let i=0; i<clothes.length; i++) {
const [item, type] = clothes[i];
hash.set(type, (hash.get(type) || 0) + 1);
}
let acc = 1;
for (const [, count] of hash) {
acc *= 1 + count
}
return acc - 1;
}
수학입니다. 수학이에요.
다른 좋은 정답들은 있긴 했습니다만, 공식을 써야하기 때문에 크게 다르지 않았던 것 같습니다.
열심히 수학 공식을 외울 수 있었던 문제입니다.
피드백은 언제나 환영이니 부탁드립니다.
읽어주셔서 감사합니다.
'development > 알고리즘' 카테고리의 다른 글
[프로그래머스] 가장 큰 수 (0) | 2022.08.31 |
---|---|
[프로그래머스] K번째 수 (0) | 2022.08.30 |
[프로그래머스] 전화번호 목록 (0) | 2022.08.26 |
[프로그래머스] 폰켓몬 (0) | 2022.08.24 |
[프로그래머스] 완주하지 못한 선수 (0) | 2022.08.24 |