레벨2만 되어도 너무 어렵다.....!!! 어떡하냐!!!
어떻게 풀어나가야겠다라는 전체적인 그림까지는 그래도 대강 그려낼 수 있는 것 같은데
이런 노가다를 한다고? 하면서 제거한 방법이 사실 정답이라든가,
방법 자체를 떠올리지 못하는 게 늘 문제인 듯....
전광판에 대한 해설은 Python만 존재해서 자바스크립트로 푼 코드를 첨부한다.
그리고 소프티어에서 코테할 때 rl.close()는 아예 쓰지 말아야하더라.
그걸 쓰면 제대로 입력을 못 받는다...이유는 모르겠다 node.js를 모르니까 ㅇ<-<
const readline = require('readline');
const rl = readline.createInterface({input: process.stdin,output: process.stdout,});
const light = {'0': '1110111','1': '0010001','2': '0111110','3': '0111011','4': '1011001','5': '1101011','6': '1101111','7': '1110001','8': '1111111','9': '1111011',' ': '0000000'};
let input = [];
rl.on('line', function(line) {input.push(line);}).on('close', function() {input = input.slice(1).map(v => v.split(' ').map(v => v.padStart(5, ' ')));let count = 0;input.forEach((test, i) => {const [a, b] = test;for (i = 0; i < 5; i++) {for (j = 0; j < 7; j++) {light[a[i]][j] !== light[b[i]][j] ? count++ : count;}}console.log(count);count = 0;});process.exit();})
전구가 전부 다 꺼진 상태를 처음에는 'off'로 적고
아무 생각 없이 padStart에 빈 문자열이 아니라 0을 넣는 바람에
오류를 찾기까지 어마어마한 시간이 걸렸다ㅠㅠ
양쪽을 빈 문자열로 맞춰서 빈 문자열도 비교가 되게 했어야 하는데
나는 0으로 자릿수를 맞춰버려서 off는 아예 사용이 안 되고, 전구가 꺼진 부분은 '0'으로 인식되면서 결과값이 더 많이 나오고 있었던 거였다.
padStart는 그냥 padStart(5)로 작성해도 된다, 디폴트가 빈 문자열이니까.
'코딩테스트 > Softeer 연습 문제' 카테고리의 다른 글
[Javascript] 성적 평균 (0) | 2023.08.04 |
---|---|
[Javascript] 지도 자동 구축 (0) | 2023.08.04 |
[Javascript] 금고 털이 (0) | 2023.08.04 |
[Javascript] 8단 변속기 (0) | 2023.08.03 |
Softeer 코딩테스트 연습 문제 체험 (0) | 2023.07.27 |