이번 문제는 아래 링크에서 풀어볼 수 있습니다.
1212번: 8진수 2진수
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
www.acmicpc.net
문제
8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.
입력
첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.
출력
첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.
예제 입력 1
314
예제 출력 1
11001100
정답 코드
답안 1
답안 2
답안 3
문제 풀이
주어진 숫자를 for 반복문으로 순회하면서 8진수를 2진수로 변환하면 되는 문제이다. 관건은 8진수에서 2진수로 변환한 수의 길이가 3이 될 때까지 0을 채워넣는 것과 결괏값의 맨 처음 값으로 항상 1이 나오도록 불필요한 0을 제거하는 것이다.
문자열의 앞에다 특정 문자를 채워넣을 때 padStart 메서드를 사용할 수 있다. padStart 메서드는 첫 번째 인수로 문자열의 목표 길이를 받고 두 번째 인수로는 채워넣을 값을 받는다. 반대로는 padEnd 메서드가 있다.
8진수와 2진수 간의 진법 변환 문제라기보단 parseInt, toString, padStart, 반복문 등을 활용해 문자열을 다루는 문제에 가깝다고 본다.
함께 보기
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
String.prototype.padStart() - JavaScript | MDN
padStart() 메서드는 현재 문자열의 시작을 다른 문자열로 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 시작(좌측)부터 적용됩니다.
developer.mozilla.org
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/padEnd
String.prototype.padEnd() - JavaScript | MDN
padEnd() 메서드는 현재 문자열에 다른 문자열을 채워, 주어진 길이를 만족하는 새로운 문자열을 반환합니다. 채워넣기는 대상 문자열의 끝(우측)부터 적용됩니다.
developer.mozilla.org
https://velog.io/@rkio/%EB%B0%B1%EC%A4%80-Javascript-1212
[백준 | Javascript] 1212
알고리즘 기초 1/2. 301 - 수학 1(연습)1212번. 8진수 2진수1212번 문제 링크매서드를 이용하는 방법이 훨씬 깔끔해보인다.그런데 메모리는 매서드를 사용한 쪽이 약간 더 크게 잡아먹었다.이 방법은
velog.io
https://leylaoriduck.tistory.com/510
[백준 1212번 8진수 2진수 - node.js] [알고리즘 기초 1/2]
https://www.acmicpc.net/problem/1212 1212번: 8진수 2진수 첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다. www.acmicpc.net 문제 8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작
leylaoriduck.tistory.com
https://kscodebase.tistory.com/393
[node.js] 8진수 2진수 ( 백준 1212번 )
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); rl.on("line", (line) => { main(line); process.exit(); }); /** * * @param {string} line */ const main = (line) => { const numbers =
kscodebase.tistory.com
'👩💻 Programming > Coding Test 문제 풀이' 카테고리의 다른 글
[Baekjoon] 17103 골드바흐 파티션(자바스크립트/NodeJs) (1) | 2023.01.09 |
---|---|
[Baekjoon] 2089 -2진수(자바스크립트/NodeJs) (0) | 2023.01.09 |
[Baekjoon] 1373 2진수 8진수(자바스크립트/NodeJs) (0) | 2023.01.09 |
[Baekjoon] 17087 숨바꼭질 6(자바스크립트/NodeJs) (0) | 2023.01.06 |
[Baekjoon] 2004 조합 0의 개수(자바스크립트/NodeJs) (0) | 2023.01.03 |
댓글