2024/11/11 4

프로그래머스 LV.2 의상

https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 해시를 이용한 해결책 1. 종류별로 분류 2. 입지 않는 경우 (해당 종류를 쓰지 않는 경우) 3. 전체 조합 즉 해당 종류별로 의상의 개수를 곱해주면 된다.#include #include #include using namespace std; int solution(vector clothes) { int answer = 1; // 옷을 종류별로 구분 unordered_map m; for (vector clothe : clothes) { m[cl..

OOP - 상속

상속의 특징다른 클래스의 특성들을 내려 받는다. Base Class 부모 클래스 Derived Class 자식 클래스 파생 클래스의 개체는 다음의 것들을 가진다.베이스 클래스의 멤버 변수베이스 클래스이 멤버 메서드자신의 생성자와 소멸자 파생 클래스는 멤버 변수 및 메서드 추가가 가능하다. 상속은 is a관계를 가진다. 상속의 이점상속을 쓰는 가장 간편한 이유는 부모 클래스가 올바르게 제대로 작동하고 있다는 가정 하에, 자식 클래스가 부모 객체가 가진 변수들은 다 부모에게 넘긴다. 그렇게 되면 자식 클래스는 자신의 변수들만 제대로 관리하면 된다. 예시 코드)Cat::Cat(int age, const char* name) : Animal(age) { size_t size = strlen(name)+1; mN..

프로그래머스 LV.2 영어 끝말잇기

https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr   해당 조건을 보면,return 처리의첫 번째 조건은 중복된 경우일 때두 번째 조건은 마지막 단어의 끝 알파벳과 현재 단어의 시작 알파벳이 다른 것일 때 따라서 return 처리의 if문 안에는 두 가지 조건을 걸러낼 수 있어야 한다. 중복된 경우가 조건이라면map이 적합하다.map은 중복을 허용하지 않기 때문이다. 그럼 단순 반복문을 통해 해당 조건에서 return 해야할 값을 구해보자. 틀린 사람이 몇 번째 사람인지는for문의 (i % n..

프로그래머스 LV.2 소수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/42839 제한사항은 다음과 같다.  예시로 1과 7의 숫자 카드가 주어지면,7하나 17하나, 71 이렇게 총 3개의 소수를 만들 수 있다. 마찬가지로0, 1, 1 의 숫자카드로는11, 101 이렇게 2개의 소수를 만들 수 있다. 그럼 이 문제를 어떻게 접근할 것인가? 1. 재귀함수를 활용하는 방법2. 반복문을 활용하는 방법 1. 재귀함수를 활용하는 방법재귀를 활용하면 다음과 같은 과정을 거친다.  재귀를 통해 모든 숫자 조합을 하나씩 만들어준다 STL의 set을 사용해서 중복되는 조합을 제거해준다. 지금 만들어진 숫자가 소수인지 판별한다. 이렇듯 소수인지 아닌지 판단하고 싶을 때가장 기본적으로 에라토..