다른 언어에서는 많이 사용하는 방법이지만, c나 c++을 처음 배울 때는 잘 알지 못하는 방법이다.


일반적으로 사용하는 for문은


for(int i=0; i<n; i++)

   int now = x[i];


이런식인데


이렇게 사용해도 된다.


for(int now:x)


이렇게하면 알아서 x라는 배열의 처음부터 끝까지 반복문을 돌리게 된다.




반응형

코드를 설명하자면 단어 여러개(n개)를 받은 후


단어 길이가 짧고, 길이가 같다면 단어를 사전 순으로 나열하였다.


그리고 중복되는 단어는 생략하였다.


#include<iostream>

#include<cstdio>

#include<string>

#include<algorithm>

#include<vector>

#include<utility>


using namespace std;


int main(void) {

int n;

cin >> n;

vector<pair<int,string>> v;

for(int i=0;i<n;i++) {

string s;

cin >> s;

int l = s.length();

v.push_back(make_pair(l,s));

}

sort(v.begin(), v.end());

for (int i = 0; i < n; i++) {

if (i>0&&v[i].second == v[i - 1].second)

continue;

else

printf("%s\n", v[i].second.c_str());    // cout << v[i].second << endl과 같은 의미

}

return 0;

}

c_str()을 끝에 붙여줘야한다

반응형

#include<iostream>


using namespace std;


int main(void) {

int T;

cin.tie(NULL);

ios_base::sync_with_stdio(false);

cin >> T;

while (T--) {

int a, b;

cin >> a >> b;

cout << a + b << "\n";

}

return 0;

}



코드에 이 두 문장 추가

cin.tie(NULL);

ios_base::sync_with_stdio(false);



줄바꿈은 endl이 아닌 "\n" 사용하면 좋다. endl을 사용하면 버퍼를 비우고, 그 오버헤드는 생각보다 크다!


반응형

7.20


pair에서는


#include<pair>

#include<queue>


queue<pair<int,int>> a;

a.push(make_pair(1,2))를 하면 1과2를 넣을 수 있고,


a.front().first 로 1에 접근

a.front().second 로 2에 접근 가능하다.



tuple은 pair와 다르게 first와 second로 접근하지 못한다.

tuple을 사용할 때 접근법은


#include<tuple>

#include<queue>


일단, queue(큐)와 tuple을 이용하니 두 헤더를 넣어준 후


queue<tuple<int, int, int>> q;


q.push(make_tuple(a, b, c)); 이라고 하면  queue에 a,b,c라는 int가 들어가는데,


이때 각각 접근하려면


a get<0>(q.front());

b get<1>(q.front());

c get<2>(q.front());


으로 접근 가능하다.

반응형

7.20

putty에서 gcc쓸때 gg=G로 인덴트하는게 편해서 비주얼도 되는지 찾아봤다.



1. 인덴트 하고자 하는 부분을 선택한 후(ctrl+A로 전체 지정하는게 편하다) 

2. alt+F8 누르면 된다...


이게 안된다면 


1. 인덴트 하고자 하는 부분을 선택한 후(ctrl+A로 전체 지정하는게 편하다) 

2. (ctrl+k) 

3. (ctrl + f)


반응형

7.20


보통은 그림 한 두장, 혹은 글로만 설명되어 있는 알고리즘(배열같은 것들)을 정말 친절하게 하나하나 설명해주어서 이해하기 좋은 책이었던 것 같다.


그렇지만 조금 어려운 내용의 알고리즘은 설명이 좀 부실한 거 같다. 


대충 이런 알고리즘이 있구나, 이런 원리이구나! 같은걸 알기에는 정말 좋은 책.


하지만 응용법과 정말 구체적인 작동 원리를 알고 싶으면 스스로 더 찾아봐야한다.


알고리즘 처음 배우는 사람에게는 좋은 책인 것 같다.


알고리즘 도감이라는 어플도 있어서 다운 받았는데, 이것도 유용한 것 같다. 다만 몇 개의 알고리즘은 유료 결제를 해야 볼 수 있다...

반응형

'Coding > 읽은 책들' 카테고리의 다른 글

'함께 자라기'를 읽으면서 드는 생각들  (0) 2021.07.20
해커와 화가  (0) 2020.07.16

+ Recent posts