의상 / 곱의 법칙(조합론)
·
공부/Code Cata
📌 문제https://school.programmers.co.kr/learn/courses/30/lessons/42578📌 제한 사항  🔎곱의 법칙(조합론)이란?조합론에서 곱 규칙은 여러 단계로 구성된 과정의 경우의 수를 세는 법칙이다.어떤 과정이 k개의 단계로 구성되어있다고 하자. 첫째 단계의 경우의 수는 n1이며, 둘째 단계의 경우의 수는 n2...k째 단계의 경우의 수는 nk라고 하자. 곱 규칙에 따르면, 이들을 차례대로 거치는 과정의 경우의 수는 다음과 같다. ✅곱의 법칙으로 문제 해결 코드#include #include #include using namespace std;int solution(vector> clothes){ int answer = 1; unordered_map ..
Git 명령어
·
공부
🔎Git 명령어 정리# GitHub 레포지토리 클론 생성git clone https://github.com/사용자이름/저장소이름.git# 레포지토리 이동cd repository: 해당 하위 레포지토리 경로로 이동cd..: 상위 레포지토리 경로로 이동# 작업 흐름에 맞춰 브랜치 생성1. Character 브랜치 생성git checkout -b Charactergit push -u origin Character2. Character-01 브랜치 생성 (이동 시스템 기능 작업)git checkout -b Character-01git push -u origin Character-01# 작업 후git add . -> 모든 수정사항 스테이징git commit -m "Add character movement sys..
할인 행사
·
공부/Code Cata
https://school.programmers.co.kr/learn/courses/30/lessons/131127 🔎문제 분석구매 희망 목록과 수량이 나눠져 있어서 unodered_map 컨테이너에 저장해, 어떤 아이템을 몇 개 구매할건지 빠르게 찾을 수 있도록 저장하려했다.할인목록 discount 역시 10일 단위로 묶어서 unordered_map에 저장하여, 10일 동안 어떤 아이템이 몇 번 할인되는지 빠르게 검색할 수 있다고 판단했다.discount의 1일차부터 10일까지를 dicount list에 등록하고 buy list와 수량을 비교하여, buy list의 수량보다 discount list의 수량이 작은 아이템이 하나라도 있는지 확인하고, 없다면 answer의 값을 증가시켜주도록 하고,첫째 ..
N x N 배열 자르기
·
공부/Code Cata
🔎2차원 배열에서 주어진 규칙으로 1차원 배열 만드는 과정 예시{0, 0} 좌표 1부터 시작해서 주변의 노드를 1씩 더해 채운다 1차원 배열로 만든 뒤, left ~ right 요소를 제외하고 삭제   ✅ Flood - Fill 알고리즘으로 2차원 배열 세팅 ver#include #include #include using namespace std;void make_flood(vector>& map, const int& n){ struct Node { int y, x; }; int direct[8][2] = { -1,0, -1,1, 0,1, 1,1, 1,0, 1,-1, ..
연속 부분 수열 합의 개수 / 모듈러 연산으로 vector size 초과 피하기
·
공부/Code Cata
https://school.programmers.co.kr/learn/courses/30/lessons/131701 처음에 재귀호출로 풀었다가 연속된 부분 수열이 아니라 모든 경우의 수를 다 더해서 결과 값이 큰 값이 나왔었다."연속 부분 수열" 이라는 말을 망각했던 것.. 이후 다시 다른 방법을 찾았다.우선 합산 결과가 중복되지 않아야하기 때문에 set을 선택했고, 순서는 상관 없기에 unordered_set을 사용하기로 최종 결정했다.모든 요소가 합산의 시작점이 될 수 있기에 배열의 첫요소를 바꾸기 위해, 양쪽 끝 요소의 삽입/삭제가 빠른 deque를 사용해서 element의 데이터를 저장해주었다.이러한 방식으로 "구현 코드 1번"을 작성하였는데, 타인 코드를 보니 "모듈러 연산"으로 직접 배열의 순..
괄호 회전하기 / stack 사용
·
공부/Code Cata
https://school.programmers.co.kr/learn/courses/30/lessons/76502 다른 것 보다 괄호 안에 괄호가 있을 때의 경우를 어떻게 검증할지에 대해 고민이 많았던 문제다.FIFO 구조의 stack 자료구조로 괄호를 앞에서부터 하나씩 추가해가며 맞는 올바른 괄호가 생기면 삭제하는 방식으로 문제를 해결했고, stack이 비어있게 되면 현재 회전된 문자열 s가 올바른 괄호로 이루어진 문자열이 됨을 검증하였다.  ✅구현 코드#include #include #include using namespace std;int solution(string s){ int answer = 0; for (int i = 0; i st; for(char c : temp)..