❗ 조건
1. 6은 9로 뒤집어 쓸 수 있고 9는 6으로 뒤집어서 쓸 수 있다 = 6,9는 동일한 숫자를 취급한다는 말이기 때문에 6의 누적 값과 9의 누적 값을 더한 후 2로 나눈 뒤 반올림 하면 6과 9를 동일한 숫자로 취급할 수 있음
2. 카드팩에서 가장 많이 쓰는 수를 기준으로 하면 카드팩을 몇 장 쓰는지 알 수 있음
let input = require('fs').readFileSync('dev/stdin').toString().trim().split('');
function objectFunc(arr) {
let card = {6:0, 9:0}
for(const el of arr) {
card[el] = (card[el] || 0) + 1;
}
card[6] = Math.ceil((card[6] + card[9])/2)
card[9] = 0
return card;
}
console.log(Math.max.apply(null, Object.values(objectFunc(input))))
❗ 풀이
objectFunc()
1. 함수 아래 연산에서 인덱스 6번과 9번 없을 때 undefined 값을 방지하기 위해서 미리 객체에 6과 9의 key에 대한 value를 0으로 지정
2. input값을 기반으로 key 생성하면서 해당 key값이 있을 경우 그 key값에 value값에 1을 더함
3. "조건에 대한 풀이 1번 참고"
4. card object를 return
5. card object의 최대값을 출력
'알고리즘 풀이' 카테고리의 다른 글
[JAVASCRIPT] 백준 1181번 문제 풀이 (0) | 2022.12.27 |
---|---|
[JAVASCRIPT] 백준 1764번 문제 풀이 (0) | 2022.12.13 |
[JAVASCRIPT] 백준 10610번 문제 풀이 (0) | 2022.11.23 |
[JAVASCRIPT] 백준 9095번 문제 풀이 (0) | 2022.09.29 |
[JAVASCRIPT] 백준 17202번 문제 풀이 (0) | 2022.09.28 |