반응형
<나의 CODE>
#include<stdio.h>
#include<algorithm>
#include<math.h>
#include<string.h>
int s;
int main(void)
{
int s;
char input[1000001];
scanf("%s", &input);
int len = strlen(input);
int part = int(len / 3);
if (input[0]-48 == 0) printf("0");
else
{
if (len % 3 == 1)
{
printf("1");
s = 1;
for (int i = 0; i < part; i++)
{
printf("%d", 4 * (input[s + 3 * i] - 48) + 2 * (input[s + 3 * i + 1] - 48) + (input[s + 3 * i + 2] - 48));
}
}
else if (len % 3 == 2)
{
printf("%d", 2 * (input[0] - 48) + input[1] - 48);
s = 2;
for (int i = 0; i < part; i++)
{
printf("%d", 4 * (input[s + 3 * i] - 48) + 2 * (input[s + 3 * i + 1] - 48) + (input[s + 3 * i + 2] - 48));
}
}
else
{
s = 0;
for (int i = 0; i < part; i++)
{
printf("%d", 4 * (input[s + 3 * i] - 48) + 2 * (input[s + 3 * i + 1] - 48) + (input[s + 3 * i + 2] - 48));
}
}
}
}
<좀 더 깔끔한 CODE>
#include <iostream>
#include <string.h>
using namespace std;
int main()
{
char s[1000001] ;
scanf("%s",&s);
int n = strlen(s);
if (n % 3 == 1)
printf("%d", s[0] - 48);
else if (n % 3 == 2)
printf("%d", (s[0] - 48) * 2 + (s[1] - 48));
for (int i = n % 3; i < n; i += 3)
printf("%d", (s[i] - 48) * 4 + (s[i + 1] - 48) * 2 + (s[i + 2] - 48));
printf("\n");
}
https://www.acmicpc.net/problem/1373
반응형
'🧩PS > 🥈Nomal' 카테고리의 다른 글
[C/C++/Python] 백준 15970번 화살표 그리기 (0) | 2020.04.24 |
---|---|
[C/C++/Python] 백준 16769번 Mixing Milk (0) | 2020.04.24 |
[ C/C++] 백준 1212번 8진수 2진수 (0) | 2020.04.13 |
[C/C++] 백준 1913번 달팽이 (0) | 2020.04.12 |
[C/C++] 백준 1934번 최소공배수 (최대공약수, 유클리드 호제법 사용) (0) | 2020.04.12 |