https://www.acmicpc.net/problem/10953
콤마(,)로 나누는 게 핵심이다.
파이썬처럼 생각하여 내장 함수 split 을 쓰고 싶었으나 다른 방법도 많았다.scanf("%d \n",&a); // 입력방법 2 - scanf // 특이점 // 1. 입력받은 데이터를 어떤 형식으로 변환할지 지정할 수 있다 // ( ex : %d = 정수 , %f = 실수.. 물론 더 많다 자세한 건 다른 포스팅 참고 ) // 2.주소 연산자 (&)를 사용한다. 입력받은 데이터를 이 기호 뒤의 변수에 저장하라는 의미 // 3. 서식지정자를 이용해 여러개의 데이터를 한번에 받을 수도 있다. scanf("%d %f",&a,&c); // 위와 같이 받으면 순서대로 변수에 값이 할당된다 printf("%d \n", a/b); // 3 // 출력방법 2 - printf(); // 특이점 // 1. scanf와 같이 서식지정자를 활용해 출력할 데이터의 서식을 지정할 수 있다. // 2. 아래와 같이 다른 문자열과 함께 사용할 수도 있다 printf("%d를 %d으로 나눈 값은 %d입니다 \n",a,b,a/b); // 10를 3으로 나눈 값은 3입니다 // 3. 서식지정자 뒤에 \n을 써주면 줄바꿈 된다 // 4. 아래와 같이 서식지정자를 활용해 출력 범위를 설정할 수 있다.
#include <iostream>
#include <string>
using namespace std;
int main() {
int t;
cin >> t;
for (int i = 0; i < t; i++) {
string s;
cin >> s;
int a = s[0] - '0';
int b = s[2] - '0';
cout << a + b << '\n';
}
return 0;
}
#include <iostream>
using namespace std;
int main() {
int t;
int a, b;
char c;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> a >> c >> b;
cout << a + b << '\n';
}
return 0;
}
어떤 형식에 따라 입출력을 받을 때는 <stdio.h> 인클루딩 후 scanf와 printf를 활용 해야겠다.
#include <stdio.h>
using namespace std;
int main(){
int A, B, T;
scanf("%d", &T);
for(int i=0; i<T; i++){
scanf("%d,%d", &A, &B);
printf("%d\n", A+B);
}
return 0;
}
cin과 cout만 써버릇 해서, scanf와 printf의 중요성을 몰랐는데
후자가 더 빠르고 위와 같이 형식이 있는 입출력에서는 훨씬 간편하다는 것을 알았다.
기억 해보자고