본문 바로가기

Android ᙏ̤̫͚/차근차근 JAVA

[백준 1212번] 8진수 2진수

 

www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

www.acmicpc.net

 

[문제]

8진수가 주어졌을 때, 2진수로 변환하는 프로그램을 작성하시오.

 

<알고리즘 분류> 수학, 구현, 문자열, 기초 수학

 

[input]

첫째 줄에 8진수가 주어진다. 주어지는 수의 길이는 333,334을 넘지 않는다.

[output]

첫째 줄에 주어진 수를 2진수로 변환하여 출력한다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 한다.

 


 

 


 

[풀이 방법]

- Scanner 사용 시 시간 초과 발생

- BufferedReader+BufferedWriter 사용

  1. 8진수를 문자열로 입력받아 변수 S에 저장

  2. int형 배열을 문자열*3 크기로 생성

  3. S.charAt(index) 함수 활용하여 각 문자가 0~7인 경우 배열에 각 숫자 저장

  4. canPrint 변수의 값이 false이고, 배열의 값이 0인 경우 (인덱스가 마지막이 아닐 때) 패스

  5. canPrint 변수의 값이 true인 경우부터 2진수로 변환한 값을 String으로 변환하여 출력

 


 

성공 코드

 

 

'Android ᙏ̤̫͚ > 차근차근 JAVA' 카테고리의 다른 글

[백준 9613번] GCD 합  (0) 2021.02.20
[백준 1373번] 2진수 8진수  (0) 2021.02.16
[백준 2089번] - 2진수  (0) 2021.02.15
[백준 1676번] 팩토리얼 0의 개수  (0) 2021.02.15
[백준 10824번] 네 수  (0) 2021.02.15