GitHub ID : soohyun-dev
윤수현의 개발 공간
GitHub ID : soohyun-dev
전체 방문자
오늘
어제
  • 분류 전체보기 (918)
    • 성장기록 (49)
      • 성장기록 (3)
      • 우아한테크코스 (16)
      • 프로젝트 (15)
      • TIL (14)
      • 테오의 스프린트 (1)
    • 프로그래밍언어 (88)
      • C언어 (14)
      • HTML\CSS (12)
      • JavaScript (7)
      • React (23)
      • Python (11)
      • JAVA (14)
      • TypeScript (6)
    • 알고리즘 공부 (736)
      • 코드업 - 파이썬 (108)
      • 백준 - 파이썬 (468)
      • 백준 - 자바스크립트 (125)
      • 프로그래머스 - 파이썬 (1)
      • 프로그래머스 - 자바스크립트 (34)
    • 책 리뷰 (9)
      • 프로그래밍 (3)
      • 독서 (6)
    • 전자기기 (1)
    • 일상, 일기 (18)
    • 기술 세미나 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 파이썬
  • 프론트엔드
  • 영어
  • 프로그래밍언어
  • 백준파이썬
  • 독해
  • 백준
  • 프로그래머스풀이
  • PYTHON
  • 프로그래머스자바스크립트
  • 코딩
  • 영어독해
  • 백준풀이
  • 코드업
  • 프로그래머스
  • 코드업파이썬
  • 코테
  • javascript
  • 자바스크립트
  • 코딩테스트

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
GitHub ID : soohyun-dev

윤수현의 개발 공간

백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1755 , 숫자놀이 [정렬]
알고리즘 공부/백준 - 자바스크립트

백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1755 , 숫자놀이 [정렬]

2022. 9. 7. 13:00

백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1755 , 숫자놀이 [정렬]

 

 

문제 출처

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

 

1755번: 숫자놀이

79를 영어로 읽되 숫자 단위로 하나씩 읽는다면 "seven nine"이 된다. 80은 마찬가지로 "eight zero"라고 읽는다. 79는 80보다 작지만, 영어로 숫자 하나씩 읽는다면 "eight zero"가 "seven nine"보다 사전순으로

www.acmicpc.net

 

 

 

 

 

정답

 

 

const input = require("fs").readFileSync("/dev/stdin").toString().trim();

const dic = {
  1: "one",
  2: "two",
  3: "three",
  4: "four",
  5: "five",
  6: "six",
  7: "seven",
  8: "eight",
  9: "nine",
  0: "zero",
};

// 숫자를 받아서 영어로 변환
const Change = (S) => {
  S = String(S);
  const tmp = [];
  for (let i = 0; i < S.length; i++) {
    tmp.push(dic[Number(S[i])]);
  }
  return tmp;
};

const [start, end] = input.split(" ").map(Number);
const check = [...new Array(end - start + 1)].map(() => []);
let j = 0;
for (let i = start; i <= end; i++) {
  check[j].push(i);
  let result = Change(i);
  check[j] = [...check[j], ...result];
  j += 1;
}

check.sort((a, b) => {
  if (a[1] > b[1]) return 1;
  if (a[1] < b[1]) return -1;
  if (a[2] > b[2]) return 1;
  if (a[2] < b[2]) return -1;
});
let answer = "";
for (let i = 0; i < end - start + 1; i++) {
  answer += check[i][0];
  if ((i + 1) % 10 !== 0 || i != end - start) {
    answer += " ";
  }
  if ((i + 1) % 10 == 0 || i == end - start) {
    console.log(answer);
    answer = "";
  }
}

 

반응형

'알고리즘 공부 > 백준 - 자바스크립트' 카테고리의 다른 글

백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 1138 , 한 줄로 서기 [구현]  (0) 2022.09.09
백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 20291 , 파일 정리 [정렬]  (1) 2022.09.08
백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 1431, 시리얼 번호 [정렬]  (0) 2022.09.06
백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 1946 , 신입 사원 [정렬]  (0) 2022.09.06
백준/ Silver 4 문제 , 백준 Node.js 자바스크립트 1015 , 수열 정렬 [정렬]  (0) 2022.09.06
    '알고리즘 공부/백준 - 자바스크립트' 카테고리의 다른 글
    • 백준/ Silver 2 문제 , 백준 Node.js 자바스크립트 1138 , 한 줄로 서기 [구현]
    • 백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 20291 , 파일 정리 [정렬]
    • 백준/ Silver 3 문제 , 백준 Node.js 자바스크립트 1431, 시리얼 번호 [정렬]
    • 백준/ Silver 1 문제 , 백준 Node.js 자바스크립트 1946 , 신입 사원 [정렬]
    GitHub ID : soohyun-dev
    GitHub ID : soohyun-dev
    환영합니다!😊 이곳은 저의 개발에 관한 내용들을 정리하는 공간입니다. 알고리즘 풀이에도 관심이 많아요. 좋은 하루 되세요~! github : soohyun_dev

    티스토리툴바