[백준] 1475. 방 번호
문제 링크
풀이 과정
로직은 다음과 같습니다.
- 방 번호를 한 자릿씩 순회한다.
- 현재 번호가 6 이고, 다른 세트에서 9를 안썼다면 해당 세트의 9를 뒤집어 6으로 사용한다.
- 현재 번호가 9 고, 다른 세트에서 6을 안썼다면 해당 세트의 6을 뒤집어 9로 사용한다.
- 6, 9 외의 다른 숫자라면 카드 개수를 중가시킨다.
위 작업들을 1부터 9까지의 각 카드 사용 횟수를 저장하는 배열을 통해 진행합니다.
코드
const readline = require("readline");
const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
const input = [];
rl.on("line", (line) => {
input.push(line);
}).on("close", () => {
let num = input[0].split("").map((e) => +e);
let cnt = Array(10).fill(0);
for (let n of num) {
if (n === 6) {
if (cnt[n] > cnt[9]) cnt[9]++;
else cnt[n]++;
} else if (n === 9) {
if (cnt[n] > cnt[6]) cnt[6]++;
else cnt[n]++;
} else cnt[n]++;
}
let answer = 0;
for (let c of cnt) answer = Math.max(answer, c);
console.log(answer);
});
댓글남기기