Recent Posts
Recent Comments
Link
- Today
- Yesterday
- Total
메이쁘
(JAVA) 백준 1212번 : 8진수 2진수 본문
https://www.acmicpc.net/problem/1212
안녕하세요.
이전 포스팅의 2진수 8진수와 반대되는 문제다.
8진수를 2진수로 변환하는 문제인데,
이 역시 마찬가지로 입력 조건을 잘 봐야 한다.
"주어지는 수의 길이는 333,334을 넘지 않는다."
즉, 10진수로 8^333334 의 값이 나올 수 있어 숫자 변수를 사용할 수 없다. (직접 변환이 빠르고, 메모리 초과도 발생하지 않는다.)
그렇기 때문에, 8진수 1자리 -> 2진수 3자리 로 바꿔서 각각의 결과를 하나의 문자열로 합쳐야 한다.
ex)
8진수 314 -> 011 001 100 (2진수)
8진수 45 -> 100 101 (2진수)
단, 가장 앞자리에 0이 있으면 생략해야 하므로 이에 대한 예외처리를 별도로 해줘야 한다.
무턱대고 3 * 8진수 길이 가 2진수의 전체 길이라고 생각하면 안된다.
큰 이슈는 없기 때문에 매커니즘은 따로 작성하지 않고
위 조건들을 잘 파악해서 코딩하면 된다.
궁금한 알고리즘은 필자의 소스코드에 주석과 함께 작성했습니다.
감사합니다.
소스코드
'Algorithm > Baekjoon' 카테고리의 다른 글
(JAVA) 백준 2847번 : 게임을 만든 동준이 (0) | 2020.08.30 |
---|---|
(JAVA) 백준 1699번 : 제곱수의 합 (1) | 2020.08.30 |
(JAVA) 백준 1373번 : 2진수 8진수 (0) | 2020.08.29 |
(JAVA) 백준 9012번 : 괄호 (0) | 2020.08.26 |
(JAVA) 백준 10988번 : 팰린드롬인지 확인하기 (0) | 2020.08.26 |
Comments