문제접근
•
입력받은 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++
복사