티스토리 뷰

알고리즘

백준 - 8진수 2진수

koyuchang 2021. 6. 7. 10:53

문제 출처: https://www.acmicpc.net/problem/1212

 

1212번: 8진수 2진수

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

www.acmicpc.net

 

 

간단히 해결할 수 있는 B3문제인 줄 알았지만 은근 많이 헤맸다..

물론 문제를 제대로 읽지 못한 부분도 있지만 공식을 다시 생각해내랴 등등 머리가 복잡해졌다.

 

풀이로 들어가서, 두 가지 풀이 방식이 있다. 8진수 → 10진수 → 2진수로 할 것인가, 아니면 바로 8진수 → 2진수로 할 것인가.

솔직히 10진수로 바꿔서 다시 2진수로 나타낸다는 방식은 생각해내지 못했고 바로 2진수로 변환하는 방식을 선택했다.

 

초기 의사 코드는,

1. 각 자릿수를 하나씩 분리

2. 자릿수를 2번씩 나머지를 구하면서 더해주고 마지막에 몫을 더해준다. 여기서 각 자릿수는 매번 몫으로 대치된다.(n/=2)

2-1. 그리고 이런 값들을 ans라는 변수에 저장.

3. StringBuilder에 변수에 ans를 덧붙인다.

 

이렇게 구성했지만 문제를 제대로 파악하지 못한 필자는 0일 경우에는 미쳐 생각하지 못해서 첫 번째 시도에 실패를 확인했다.

 

 

 

 

다음은 0이 아닌 숫자가 입력으로 들어왔을 때, 앞 시작 숫자가 0이면 안 되는 것이다..

 

다시 이렇게 우선 시작이 0 인 부분은 2로 바꿔주고, sb변수에 다시 값을 넣어주었다.

 

 

'알고리즘' 카테고리의 다른 글

백준 - ⚾  (0) 2021.06.10
백준 - 공주님을 구해라  (0) 2021.06.07
프로그래머스 - 게임 맵 최단거리  (0) 2021.06.06
백준 - 연구소2  (0) 2021.06.05
백준 - 미로 탈출  (0) 2021.06.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함