posted by REDFORCE 2017. 12. 15. 22:36

자연수로 이루어진 길이가 같은 수열 A,B가 있습니다. 최솟값 만들기는 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱한 값을 누적하여 더합니다. 이러한 과정을 수열의 길이만큼 반복하여 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다.

예를 들어 A = [1, 2] , B = [3, 4] 라면

  1. A에서 1, B에서 4를 뽑아 곱하여 더합니다.
  2. A에서 2, B에서 3을 뽑아 곱하여 더합니다.

수열의 길이만큼 반복하여 최솟값 10을 얻을 수 있으며, 이 10이 최솟값이 됩니다.
수열 A,B가 주어질 때, 최솟값을 반환해주는 getMinSum 함수를 완성하세요.


'Programming > C++' 카테고리의 다른 글

프로그래머스 Level 1.약수의 합  (0) 2017.12.15
알고리즘 문제 예제 4  (0) 2017.12.06
알고리즘 문제 예제 3  (0) 2017.12.06
알고리즘 문제 예제 2  (0) 2017.12.06
알고리즘 문제 예제 1  (0) 2017.12.06
posted by REDFORCE 2017. 12. 15. 22:32

어떤 수를 입력받아 그 수의 약수를 모두 더한 수 sumDivisor 함수를 완성해 보세요. 예를 들어 12가 입력된다면 12의 약수는 [1, 2, 3, 4, 6, 12]가 되고, 총 합은 28이 되므로 28을 반환해 주면 됩니다.



'Programming > C++' 카테고리의 다른 글

프로그래머스 Level 2.최솟값 만들기  (0) 2017.12.15
알고리즘 문제 예제 4  (0) 2017.12.06
알고리즘 문제 예제 3  (0) 2017.12.06
알고리즘 문제 예제 2  (0) 2017.12.06
알고리즘 문제 예제 1  (0) 2017.12.06
posted by REDFORCE 2017. 12. 6. 14:39

프로그래머스 Level 1.행렬의 덧셈


문제 ----------------------------------------------------------

행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.

예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.)

----------------------------------------------------------




posted by REDFORCE 2017. 12. 5. 15:52

최근 여러 곳에 이력서를 넣으면서 프로그래머스를 이용한 온라인 코딩테스트를 제출하는 곳이 여럿 보이길래, 한번 프로그래머스에 나오는 알고리즘 연습 문제들을 풀어보기 시작했습니다.


----------------------------------------------------------


프로그래머스 Level 1.피보나치 수


문제 ----------------------------------------------------------

피보나치 수는 F(0) = 0, F(1) = 1일 때, 2 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 점화식입니다. 2 이상의 n이 입력되었을 때, fibonacci 함수를 제작하여 n번째 피보나치 수를 반환해 주세요. 예를 들어 n = 3이라면 2를 반환해주면 됩니다.

----------------------------------------------------------



재귀함수를 사용하여 간단하게 구할 수 있는 방법이 있지만

시간복잡도가 기하급수적으로 증가하므로


다음과 같이 이전 계산을 기억해두어 계산하는 방법이 있다.




posted by REDFORCE 2017. 9. 15. 16:38

바이트에서 1인 비트의 갯수를 새는 방법은 여러가지가 있으나

본 글에서 적는 방법은 MSDN에서 제시하는 방법을 기술하고자 합니다.


간단히 비트 플래그 갯수를 새는 방법은 다음과 같은 코드로 수행할 수 있습니다.


WORD GetNumberOfBits( DWORD dwMask )
{
    WORD wBits = 0;
    while( dwMask )
    {
        dwMask = dwMask & ( dwMask - 1 ); 
        wBits++;
    }
    return wBits;
}

위 코드는 MSDN에 적혀있는 코드입니다.


API 형식의 자료형으로 적혀있어서 기본 C++ 형태로 바꾼 코드는 다음과 같습니다.




가볍게 MSDN 코드를 바꾸어 테스트 코드와 비트 갯수를 세는 코드만 적어두었습니다.



posted by REDFORCE 2017. 6. 14. 15:05

예전에 공부하면서 만들어보았던


상점과 인벤토리(콘솔) 입니다.




정말 추억이 새록새록...(그러나 관심은 짤방에만 있다...)



'Programming > C++' 카테고리의 다른 글

[C++]바이트에서 1인 비트의 개수 세기  (0) 2017.09.15
[C++]나눗셈을 피해서 연산하자  (0) 2017.09.04
[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 14:06

간단한 하이로우세븐 콘솔 게임입니다.


하이로우세븐 게임 룰 자체는 설명안하겠습니다.



코드도 그렇게 어려운건 없어서...


단순하게 랜덤하게 나온 값을 토대로 조건문으로 검사하는 것뿐...


(어딘가에 좋은 짤방이 없나...)



'Programming > C++' 카테고리의 다른 글

[C++]나눗셈을 피해서 연산하자  (0) 2017.09.04
[C++]상점/인벤토리 만들기(콘솔)  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 14:02


콘솔기반의 간단한


배팅을 이용한 도박 게임입니다.



상대방의 카드보다 값이 높으면 졌었는지 이겼는지 기억이 안나네요.


하하....(땀땀)...



'Programming > C++' 카테고리의 다른 글

[C++]상점/인벤토리 만들기(콘솔)  (0) 2017.06.14
[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
posted by REDFORCE 2017. 6. 14. 13:57

간단한 숫자 퍼즐 게임입니다.


숫자를 ☆자리와 스왑해서 모든 숫자를

1,2,3,4,5

6,7,8,9,10

11,12,13,14,15

16,17,18,19,20

21,22,23,24,25


로 맞추면 이기는 퍼즐 형식입니다.

 



'Programming > C++' 카테고리의 다른 글

[C++]High/low/Seven  (0) 2017.06.14
[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 별찍기  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
[C++]주민등록번호 생성기  (0) 2017.06.14
posted by REDFORCE 2017. 6. 14. 13:52



좌에서 우로 우에서 좌로 하나씩 증가/감소 하면서 별 찍는 간단한 코드 입니다.


요즘 뭔가 어디서쓸만한 짤방없나 계속 찾아보고있는데


마음에드는게 없네요...(시무룩)



'Programming > C++' 카테고리의 다른 글

[C++]간단한 배팅 도박게임  (0) 2017.06.14
[C++]간단한 숫자 퍼즐 게임  (0) 2017.06.14
[C++]Console Bingo(빙고)  (1) 2017.06.14
[C++]주민등록번호 생성기  (0) 2017.06.14
[C++]문자열 거꾸로 만들기  (0) 2017.06.14