전체 글
[프로그래머스]level.2 - 행렬의 곱셈(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/12949 내 코드 행렬 연산을 구현하면 된다. 행렬 연산 방법을 코드로 옮기는 게 조금 머리 아팠다. #include #include using namespace std; vector solution(vector arr1, vector arr2) { vector answer(arr1.size(), vector(arr2[0].size(), 0)); for(int m = 0; m < answer.size(); ++m) for(int n = 0; n < answer[0].size(); ++n) for(int i = 0; i < arr1[0].size(); ++i) answer[m][n] += arr1[m]..
[프로그래머스]level.3 - 멀리 뛰기(C++)
https://school.programmers.co.kr/learn/courses/30/lessons/12914 문제 설명 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한 사항 n은 1 이상, 2000 이하인 정수입..
[프로그래머스]level.3 - 자물쇠와 열쇠(C++)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/60059#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 고고학자인 튜브는 고대 유적지에서 보물과 유적이 가득할 것으로 추정되는 비밀의 문을 발견하였습니다. 그런데 문을 열려고 살펴보니 특이한 형태의 자물쇠로 잠겨 있었고 문 앞에는 특이한 형태의 열쇠와 함께 자물쇠를 푸는 방법에 대해 다음과 같이 설명해 주는 종이가 발견되었습니다. 잠겨있는 자물쇠는 격자 한 칸의 크기가 1 x 1인 N x N 크기의 정사각 격자 형태이고 특이한 ..
[프로그래머스]level.1 - 하샤드 수(C++)
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이 #include #include using namespace std; bool solution(int x) { bool answer = false; int total = 0; int tmp = x; while(tmp > 0) { total += (tmp % 10); tmp /= 10; } if(x % total == 0) answer = true; return answer; }
프로토타입(ProtoType) 패턴
{ 프로토타입이란? } 프로토타입 패턴이란 GoF의 생성 패턴 중 하나로, 원본 객체(프로토타입)를 복제하여 객체를 생성하는 패턴이다. { 게임 개발에서 프로토타입 활용하기 : 몬스터 대량 스폰하기 } 위 게임을 보면 수많은 몬스터들이 대량 생성되어 있다. 이런 몬스터 생성 코드를 어떻게 하면 간단하게 작성할 수 있을까? 몬스터 스포너에 프로토타입으로 사용할 몬스터 객체를 등록해두고 복제(Clone)하여 게임 월드 상에 배치 시키면 끝이다. 프로토타입 패턴은 원본 객체를 복사할 때 프로토타입의 클래스 뿐만 아니라 상태도 같이 복제한다. 이 말은 몇 개의 속성을 변경하는 것만으로도 하나의 프로토타입에서 다양한 종류의 객체를 생성할 수 있다는 것이다. 예를 들어 애니메이션 정보만 바꿔 다른 외형을 가진 몬스..