no image
C++ [Algorithm] - 백준 10815 숫자 카드
문제입출력문제 요약63210-10 이렇게 입력 값이 주어진다면 109-52345-10위 배열이 입력 값에 포함된다면 1출력 아니면 0을 출력하면 된다. 단순하게 2중 반복문으로 탐색을 할 순 있지만 카드의 수가 500,000개로 (n)^2이면 시간제한에 넘기 때문에 이진 탐색으로 풀어야한다는 걸 알 수 있다. 1. 이진 탐색은 정렬이 필수적으로 필요하기 때문에 입력 배열을 정렬한다.-1023610이 배열을 갖고 입력값마다 존재한지 아닌지를 판단해주면 된다.코드#include #include #include using namespace std;int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int N, M, temp; vector v1; ..
2024.08.01
C++ - Map
Map이란?key와 value로 구성된 pair 객체를 원소로 하는 컨테이너key는 중복 안됨value는 중복이 가능하다.특정 기준에 따라 원소들을 자동으로 정렬한다.위치가 계속 변경되므로 우너소에 직접 접근이 불가능하다.Map의 사용Map STL을 사용하기 위해서는 #include 헤더파일을 포함해야한다.#include  선언 방법map [name]#include #include using namespace std;int main() { //문자형 key, 정수형 value를 원소로하는 map1 생성 map map1; //정수형 key를 내림차순으로 저장하는 map2 생성 map> map2; //초기화 값이 있는 map3 생성 map map3 = { {"apple", "사과"}, {"banana"..
2024.08.01
no image
반도체 공정 과정 - 포토 공정 (3)
포토 공정이란 무엇인가웨이퍼 위에 반도체 제조를 위한 도면을 그려내는 작업 과정이다.반도체 집적도가 높아질수록 매우 미세한 정밀 회로 패턴을 구현해야 하기 때문에 높은 수준의 포토 공정 기술이 필요하다.포토 공정 과정포토 공정은 크게 감광액 도포(Coating), 노광(Exposure), 현상(Development) 과정으로 나눠져 있다. 1. 감광액 도포 웨이퍼에 회로를 그리기 위한 첫 단계는 산화막을 형성한 웨이퍼 위에 감광액을 도포하는 것이다.감광액은 빛에 노출되면 화학적으로 성질이 변하는 물질로, 웨이퍼가 인화지 역할을 하도록 만들어준다.웨이퍼 위에 감광액을 얇고 균일하게 바를수록 높은 품질의 회로 패턴을 인쇄할 수 있다.  감광액은 빛에 대한 반응에 따라 노광되지 않은 영역을 남기는 양성(Pos..
2024.08.01
no image
반도체 공정 과정 - 산화 공정 (2)
산화 공정이란 무엇인가 앞 웨이퍼 제조 공정 과정에서 만든 둥근 판 모양의 웨이퍼는 전기가 통하지 않는 부도체 상태의 물체이다.그래서 도체와 부도체의 성격을 모두 가진 반도체의 성질을 가질 수 있도록 만드는 작업이 필요하다. 산화 공정 과정을 치르는 이유는 웨이퍼를 불순물로부터 보호하고, 회로 사이에 누설 전류가 흐르는 것을 차단한다.또한 이온주입 시 이온의 확산을 방지하고, 식각 공정에서 웨이퍼가 잘못 깎이지 않도록 막기도 한다. 이를 위해 웨이퍼 위에 여러가지 *물질을 형성시킨 후 설계된 회로 모양대로 깎고, 다시 물질을 입혀 깍아내는 일이 반복된다. *물질 : 산화제(물(H2O), 산소(O2))와 열에너지를 공급하여 이산화규소(SiO2) 막을 형성산화 공정 과정 웨이퍼 제조 공정 과정에서 만들어진 ..
2024.08.01
Git - branch 명령어 정리
브랜치 생성 및 생성된 브랜치로 전환$ git checkout -b  현재 파일과 연결된 브랜치 목록$ git branch 브랜치 전환$ git checkout  브랜치 생성$ git branch  브랜치 삭제$ git branch -d  브랜치에 코드 push$ git push  브랜치 이름 변경$ git branch -m  브랜치 merge$ git checkout $ git merge  main 브랜치에 A라는 브랜치를 merge하는 경우$ git checkout main$ git merge A 브랜치 비교git diff
2024.07.31
no image
Git - 브랜치, 커밋 전략
브랜치브랜치를 사용하는 이유는 무엇일까브랜치를 사용하지 않고 메인 브랜치에서만 작업하면 어떤 일이 벌어질까하나의 기능을 개발하기 위해 여러개의 커밋을 하게 된다면 기능이 완성되기 전까지 메인 브랜치의 소스코드는 불완전한 상태로 존재할 것이다. 협업을 하게 됐을 때, 오직 메인 브랜치에서만 작업을 한다면 내가 작업중인 파일을 누군가 건드릴 수 있게 된다.또한 여러 기능을 개발하면서 남겨진 커밋 히스토리가 메인 브랜치에 뒤죽박죽 섞이게 될 것이다. 브랜치를 사용하게 된다면, 다른 브랜치에 영향을 받지 않는 독립적인 환경에서 기능을 개발하거나, 버그를 수정할 수 있다. 즉, 여러 기능을 여러 사람이 병렬적으로 개발할 수 있게 된다. 기능을 개발할 때 브랜치를 생성하고, 코드를 작성하며 커밋을 남긴다.이후 기능..
2024.07.31
C++ - STL 컨테이너
STL 컨테이너STL 컨테이너는 데이터를 보관하고 관리하기 위해서 필요한 여러가지 기능을 제공한다. Vector동적 배열로 배열의 크기를 변경할 수 있다.임의 접근이 가능하며, 뒤에서의 삽입이 빠르다.삽입, 삭제, 탐색 O(n), 임의 원소 접근 O(1) 보장한다.list연결리스트이므로 데이터를 순차적으로 접근하고 관리할 때 유용하다.위치에 상관없이 삽입과 삭제가 빠르다.삽입, 삭제 O(1), 탐색, 임의 원소 접근 O(n) 보장한다.deque임의 접근이 가능하며, 앞과 뒤에서의 삽입이 빠르다.삽입, 삭제, 탐색 O(1), 임의 원소 접근 O(n) 보장한다.map특정 키(key)로 데이터를 접근하고 관리할 수 있다.키로 값에 접근하며 삽입과 삭제가 빠르다.삽입, 삭제, 탐색 모두 O(log n) 보장se..
2024.07.31
no image
C++ [Algorithm] - 백준 13458 시험 감독
문제 시험장마다 사람의 수를 갖고 먼저 총 감독관의 값을 뺀 후 count++그 후 부감독/C를 한 후 반올림을 진행한다.why? 부감독이 감시할 수 있는 사람이 5명이여도 남은 학생 수가 4명이면 1명은 더 필요하기 때문에코드#include #include #include using namespace std;int main() { int A, B, C; long long answer = 0; cin >> A; vector room(A); for (int i = 0; i > room[i]; } cin >> B >> C; for (int i = 0; i 0) { answer += ceil((double)num / C); } } cout  간단한 구현 문제였지만 결과값에 대한 자료형 선언이 함..
2024.07.29