인프런 커뮤니티 질문&답변
1주차 개념강의 예제코드 질문
작성
·
279
0
1. 입출력 싱크관련 질문
#include <bits/stdc++.h> using namespace std; int fibo(int idx){ if(idx == 0 || idx == 1) return idx; return fibo(idx - 1) + fibo(idx - 2); } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cout << fibo(10); // 55 return 0; }
위와같은 1주차 fibo나치 설명 관련 예시 코드 중
cin, cout을 빠르게 해주는 방법이라고 하셨는데
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
을 빼도 크게문제없는거같은데 맞나요?
2. typedef 관련 질문
아래 예제코드에서 typedef 를 선언한 이유가 무엇인가요?
구글링을 통해 찾아보니 typedef의 경우 자료형의 이름을 별명과같이 재정의할수있는거여서
사용한다면 써도되겠지만 예시 코드상에서는 ll을 사용하지않아 문의드려요
#include<bits/stdc++.h> using namespace std; typedef long long ll; int a[100004], b, c, psum[100004], n ,m; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 1; i <= n; i++){ cin >> a[i]; psum[i] = psum[i - 1] + a[i]; } for(int i = 0 ; i < m; i++){ cin >> b >> c; cout << psum[c] - psum[b - 1] << "\n"; } return 0; }
3.누적합 예제코드 출력관련 질문
#include<bits/stdc++.h> using namespace std; typedef long long ll; int a[100004], b, c, psum[100004], n ,m; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> n >> m; for(int i = 1; i <= n; i++){ cin >> a[i]; psum[i] = psum[i - 1] + a[i]; } for(int i = 0 ; i < m; i++){ cin >> b >> c; cout << psum[c] - psum[b - 1] << "\n"; } return 0; }
위 예제 코드를
g++ -std=c++14 -Wall main.cpp -o test.out
./test.out
으로 출력했을때 아래와같이 출력되는데 맞는건지 문의드려요
8 3
1 2 3 4 5 6 7 8
1 4 // 여기까지 입력받고
10 -> 10을 출력
1 5 // 입력받고
15 -> 15를 출력
3 5 // 입력받고
12 -> 12 출력
답변 1
0
1. 빼도 됩니다. 빠르게 하실 때 쓰시는거지 시간초과 안나면 안써도 괜찮아요.
2. long long을 자주써서 넣은 겁니다.
3. 네 맞는겁니다. / 출력을 한꺼번에 하고 싶다면 다르게 코드를 짜면 되지만 굳이 그럴 필요는 없습니다.
그리고 담에 코드 주실 때는... 한줄로 주시면 제가 넘 힘들어요 ㅠ
지금 이 코드가 xcode에서 복붙한거 맞나요?
무튼. 코드 줄.. 등 보기 쉽게 부탁드립니다.
감사합니다.
강사 큰돌 올림.






감사합니다
에디터에서 붙여넣을땐 괜찮았는데 게시글올리니 저리되는거 몰랐네요 ㅠㅠ
담부터 확인하고 올리겠습니다