분류 전체보기 115

STL이란 무엇인가?

STL? STL은 Standard Template Library의 약자로, C++에서 제공하는 '표준(Standard)' 라이브러리이다. STL은 다양한 자료구조를 클래스화시킨 컨테이너(Container) 와 이를 다루기 위한 알고리즘, 반복자, 조건자, 함수객체 등을 제공한다. Container 의 종류 1. 순차 컨테이너(시퀀스 컨테이너) : Vector, List, Deque... 2. 연관 컨테이너 : Set, Map, Multiset, Multimap... 3. 어댑터 컨테이너 : Stack, Queue... Container 요약 1. Vector : 적은 양의 자료에 유리하고, 순차 접근, 랜덤 엑세스, 크기 변경이 가능하다. 하지만 Vector의 중간에 값을 삽입, 삭제, 검색하는 것이 느..

C++/STL 2022.08.04
[220803] Level1_ 로또의 최고 순위와 최저 순위

https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 이전에 풀었던 체육복문제의 쉬운버전인것같다. 로또숫자 전체 배열을 만들어서 인자로 받은 두 배열과 일치하는 숫자에 +1을 해주었고 그 결과 2가 된 배열의 인덱스 숫자는 로또번호와 일치하는 숫자이므로 당첨저장변수에 +1을 해준다. 이런식으로 순위계산을 했을 때 예외처리부분에서 오류가 발생하여 삼항연산자를 통해 두가지 예외를 처리해주었다. 1. 첫번째 예외 : 지워진 숫자가 없고, 당첨번호와 ..

[220801] Level1_ 체육복

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 이중 for문을 돌려 '체육복을 분실한 그룹'과 '여분의 체육복을 가져온 그룹'의 공집합을 찾아 없앤다. 2. 그렇게 하면 체육복을 분실한 사람중 여분의 체육복이 있는 사람은 제외할 수 있다. 3. 체육복을 분실했고 여분의 체육복도 없는 lost가 체육복을 분실하지도 않고 여분의 체육복도 가져온 그룹에게 빌린다. 4. 앞뒤번호에게만 빌릴 수 있기 때문에 자기 앞번호에게 우선적으..

[220730] Level2_ 멀쩡한 사각형

https://school.programmers.co.kr/learn/courses/30/lessons/62048 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 직사각형의 가로, 세로를 각각 x축, y축으로 보고 가로지르는 대각선을 그래프로 생각하여 대각선의 기울기를 구한다. 2. for문을 가로or세로 길이만큼 돌려 i변과 그래프가 만나는 지점의 값을 구한다. 3. 처음 값은 내림하고 구한 값은 올림한다. 4. 제외할 값을 총 정사각형 갯수에서 빼주었다면, 처음값에 구한 값을 저장하고 2번 과정이 다시 시행된다. 5. 다 제외했다면 ..

[220728] Level1_ 숫자 문자열과 영단어

https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 초기 아이디어 1. 10크기의 배열에 순서대로 one, two...nine의 문자열이 저장되어 있다고 가정. (string A[10]) 2. for문으로 배열0~9까지 각각 참조, if 인자로 받은 문자열에 배열요소 중 같은 부분이 있다면 해당 i를 string으로 변환. 3. find로 반환된 index는 replace에 인자로 전달, A[i].size만큼 잰 다음 변환한 i(string)으로 ..