C++ 3

백준 2745번 진법 변환 (C++)

이전 포스팅들은 각 단계별로 묶어서 업로드 했는데, 각 문제들에서 시사할 바와 내가 고민한 바 등등 적고싶은게 많아졌다. 한 문제당 고봉밥(최대한;;)으로 업로드 하는 형식으로 변경하려고 한다.  이번 단계의 제목은 이다.개인적인 의견으로 수학적 사고력이 필요한 문제라고 생각한다.나는 문제들에서 주어진 것이 무엇인지, 내가 구해야 하는 것이 무엇인지를 생각하면서 풀었다. https://www.acmicpc.net/problem/2745 2745번 #include #include #include using namespace std;int main(){ string N; int B; cin >> N >> B; vector v; for (const char& elem : N) { char num = el..

코테 2025.03.19

백준 단계별로 풀어보기 (7)

이번 단계는 2차원 배열에 관한 문제들이 수록되어 있다. STL에서 제공하는 자료구조(사실 오직 vector)들을 사용하면서 간단하게 풀었다. https://www.acmicpc.net/problem/2738 2738번 행렬 덧셈 #include #include using namespace std;int main(){ int n, m; cin >> n >> m; vector> v(n, vector(m, 0)); // n*m 행렬 0으로 초기화 for (int i = 0; i > num; v[r][l] += num; } } } for (auto vec : v) { for (int n : vec) cout 입력으로 주어진 행렬의 크기에 맞게 2차원 배열을 vector로 생성한다. 차례대로 ..

코테 2025.03.18

멀티쓰레드 프로그래밍 입문

멀티쓰레드는 C++ 프로그래밍 언어 내에 멀티스레드 라이브러리에 존재한다. C++11 에 추가되었으며 표준으로 존재한다. C++ 11에서 지원되기 전에는 각 OS 마다 사용할 수 있는 방법이 달랐다.windows에서는 WIN32 라는 라이브러리에서 지원하는 API를 사용해서 프로그래밍 해야했고, Linux는 pthread API를 사용해서 프로그래밍 했다. 현재는 C++11 에 공개된 라이브러리를 이용하면 된다.  thread 를 지원하는 방법은 각 OS 마다 달랐다.먼저 windows 에서 쓰레드를 어떻게 지원했냐 하면windows 에서 쓰레드는 프로세스를 구성하는 원소이다.모든 프로세스는 시작 시 한 개의 쓰레드를 갖고 실행된다.운영체제가 직접 쓰레드를 스케줄링.멀티 CPU(또는 core)라면 여러..