BOJ에서 다음 문제들을 쭉 순서대로 풀어본다. boj.kr/문제번호 <= 형태로 검색하면 된다.
입출력 - 2557, 1000, 2558, 10950, 10951, 10952, 10953, 11021, 11022, 11718, 11719, 11720, 11721, 2741, 2742, 2739, 1924, 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992
입출력 문제들을 풀 때 10분이상 이 문제를 붙들고 있는 경우, 그건 입출력에서 뭔가 모르는 부분이 반드시 있다는 뜻이므로 이전 질문들을 무조건 찾아보고 다른 사람이 푼 코드를 반드시 봐야 한다.
내가 애용하는 IDE 사이트
(IDE 자동 완성이 불가능하기 때문에 사용하는 중)
문제 :
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력 :
첫째 줄에 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주어진다. A와 B는 콤마(,)로 구분되어 있다.
(0 < A, B < 10)
출력 :
각 테스트 케이스마다 A+B를 출력한다.
여기서 코드 고민하다가
','를 구분해서 각각 변수에 담은 다음 A+B 계산하는 방법을 생각했는데,
생각해보니 굉장히 비효율적인 코드가 될 것 같다는 생각에 다른 사람들이 짠 코드를 찾아봤다.
대부분 아래처럼 코드를 짰다.
어차피 결과는 정수 + 정수이기 때문에
입력받을 때, 정수 + 문자 + 정수 받고, A + B를 계산하면 되는 것.
굉장히 간단한 코드면서
백준에서 입력이 어떻게 주어지는지 모른다면 효율적으로 코드를 짤 수 없는 문제라는 생각이 들었다.
정답 코드
#include <iostream>
using namespace std;
int main() {
int A = 0, B = 0;
int testcase = 0;
char c;
cin >> testcase;
for (int i = 0; i < testcase; i++){
cin >> A >> c >> B;
cout << A + B << endl;
}
return 0;
}
'OLD_알고리즘 > Baekjoon' 카테고리의 다른 글
백준] 11022 : A+B (8) (0) | 2020.07.11 |
---|---|
백준] 11021 : A+B (7) (0) | 2020.07.11 |
백준] 10952 : A+B (5) (0) | 2020.07.10 |
백준] 10951 : A+B (4) (0) | 2020.07.10 |
백준] 10950 : A+B (3) (0) | 2020.07.10 |
댓글