Fascination
article thumbnail
Published 2021. 10. 3. 00:07
[C++] BOJ 10829 : 이진수 변환 CODE/BOJ

1. [문제]

 

10829번: 이진수 변환

첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 100,000,000,000,000)

www.acmicpc.net

 

 

2. [문제 풀이]

풀이 1) 스택을 사용하여 2로 나눈 나머지를 저장하고 이를 pop하여 거꾸로 출력함

풀이 2) 재귀 호출을 사용하여 나머지가 0 혹은 1이면 출력하고 그렇지 않으면 재귀호출 시행

 

 

3. [코드]

- 풀이 1

<c++ />
#include <iostream> #include <stack> using namespace std; int main() { stack <int> s; long a; cin>>a; do{ s.push(a%2); a/=2; }while(a!=0); do{ cout<<s.top(); s.pop(); }while(!s.empty()); }

 

- 풀이 2

<c++ />
#include <iostream> using namespace std; void to_bin(long number) { if (number == 0 || number == 1) { cout << number; } else { to_bin(number / 2); cout << number % 2; } } int main() { long a; cin>>a; to_bin(a); }

 

 

4. [채점 결과]

* 처음으로 맞은게 풀이 1 두번째로 맞은게 풀이 2

'CODE > BOJ' 카테고리의 다른 글

[C++] BOJ 1769 : 3의 배수  (0) 2021.10.03
[C++] BOJ 13706 : 제곱근  (0) 2021.10.03
[C++] BOJ 2941 : 크로아티아 알파벳  (0) 2021.10.02
[C++] BOJ 15953 : 상금 헌터  (0) 2021.10.02
[C++] BOJ 5086 : 배수와 약수  (0) 2021.10.02
profile

Fascination

@euna-319

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!