문제

https://www.acmicpc.net/problem/2659

걸린 시간

-

풀이

TypeScript

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input';
const stdin = fs.readFileSync(filePath).toString().trim().split('\n').map((s: string) => s.trim());
const input = (() => {
  let line = 0;
  return () => stdin[line++];
})();

const set: Set<number> = new Set();
for(let i = 1111; i <= 9999; i++){
  let card: Array<string | undefined> = String(i).split('');
  if(card.indexOf('0') !== -1) continue;
  let clockNum: number = parseInt(card.join(''));
  for(let j = 0; j < 4; j++){
    card.push(card.shift());
    clockNum = Math.min(clockNum, parseInt(card.join('')));
  }
  set.add(clockNum);
}
const arr: number[] = Array.from(set);
arr.sort();

const card: Array<string | undefined> = input().split(' ');
let clockNum: number = parseInt(card.join(''));
for(let i = 0; i < 4; i++){
  card.push(card.shift());
  clockNum = Math.min(clockNum, parseInt(card.join('')));
}
console.log(arr.indexOf(clockNum)+1);
  • 디버깅 출력문 때문에 맞왜틀
  • T | undefined 와 any 둘 중 어느게 좋은 자료형 선언일까
  • javascript 에서 set 은 요소 순서가 의미 없다. set 을 Array.from() 에 인자로 전달하면 새 배열로 만들 수 있다.

'Baekjoon' 카테고리의 다른 글

Baekjoon 1124번 언더프라임  (0) 2022.04.10
Baekjoon 2567번 색종이 - 2  (0) 2022.04.08
Baekjoon 1913번 달팽이  (0) 2022.03.29
Baekjoon 1904번 01타일  (0) 2022.03.16
Baekjoon 10799번 쇠막대기  (0) 2022.03.14

댓글