Search
Duplicate
📗

이진수 변환

주차
문제번호
10829
언어
티어
브론즈
유형
수학
구현
재귀
nj_Blog
nj_상태
이해도
풀이
사람
이해도 2
13 more properties

문제접근

입력받은 n을 2로 계속 나누고 나뉜 나머지를 string에 저장
저장된 녀석을 거꾸로 출력

놓쳤던 부분

void solution()int solution()으로 리턴타입을 잘못 선언했더니 메모리 초과 발생
→ 이유는 모르겠음;;

코드

2020 KB

0 ms

#include <iostream> long long n; std::string answer = ""; void input_setting() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(0); } void input() { std::cin >> n; } char itoa(int n) { return (n + '0'); } void solution() { while (1) { answer += itoa(n % 2); if (n < 2) break ; n /= 2; } } void print() { for (int i = answer.length() - 1; i >= 0; i--) std::cout << answer[i]; } int main(void) { input_setting(); input(); solution(); print(); return (0); }
C++
복사