본문 바로가기

programming/알고리즘 풀이

백준-문자열 [C/C++/PYTHON] #11720

반응형
SMALL

#11720

문자열로 데이터를 받아 아스키코드의 0~9 는 십진법에서 48~57의값을 가짐 

즉  문자열 데이터 1은49 2는 50,,,,, 9는 59,여기서 합을 구하고자 한다면 문자열 0 은 48이므로

입력데이터- 0을하면 원하는 합을 구할수 있음.  

 


C-1

******배열 활용하여 사용하는방법 ***********

더보기

 

 

#include<stdio.h>

int sum_arr(int size);

int main(){
    int n= 0;
    scanf("%d",&n);
    printf("%d",sum_arr(n));
    return 0;
}

int sum_arr(int size){
    char arr[size];
    int i = -1;
    int sum;
    scanf("%s",&arr);
    for( i= 0; i< size ; i++)
    {
        sum+= arr[i] -'0';
    }
    return sum;
}

 C-2 동적할당하여 출력하는방법 

더보기
#include<stdio.h>
#include<stdlib.h>

int sum_arr(int size);

int main(){
    int n= 0;
    scanf("%d",&n);
    printf("%d",sum_arr(n));
    return 0;
}

int sum_arr(int size){
    char *arr = malloc(sizeof(char)*size);
    memset(arr, 0x00, sizeof(char)*size);
    int i = -1;
    int sum;
    scanf("%s",arr);
    for( i= 0; i< size ; i++)
    {
        sum+= arr[i] -'0';
    }
    free(arr);
    return sum;
}

C++ 문자열 C스타일 코드 

더보기
#include<iostream>
using namespace std;

int sum_arr(int size);

int main(){
    int n = -1;
    cin>> n;
    cout<<sum_arr(n)<<endl;
    
    return 0;
}

int sum_arr(int size){
    int i = -1;
    int sum;
    char arr[size];
    cin >> arr;
    
    for( i= 0; i< size ; i++)
    {
        sum+= arr[i]-'0';
    }
return sum;
}

C++ 문자열 C++스타일 코드로 변형1 < string > 사용 

<string 사용 1 > 

더보기
#include <iostream>
#include <string>
using namespace std;

int main(){
	int cnt;
	string input;
	
	cin >>cnt;
	cin >> input;
	
	int ans=0;
	char c;
	int tmp;
	for(int i=0; i<cnt; i++){
		c= input[i];
		tmp =(int)c-48;
		ans+=tmp;
	}
	cout << ans;
	return 0;
}

C++ 동적할당 

더보기
#include<iostream>
using namespace std;

int sum_arr(int size);

int main(){
    int n = -1;
    cin>> n;
    cout<<sum_arr(n)<<endl;
    
    return 0;
}

int sum_arr(int size){
    int i = -1;
    int sum;
    char *arr = new char[size];
    cin >> arr;
    
    for( i= 0; i< size ; i++)
    {
        sum+= (int)arr[i]-'0';
    }
    delete[] arr;
return sum;
}

PYTHON

#sum() 

더보기
n = input()

arr = map(int, input())

print(sum(arr))

#for문

더보기
n = input()
num = list ( input() )

total =0 

for i in num:
    total += int(i)
print(total)

반응형
LIST