안녕하세요.

BlockDMask 입니다.


정말정말 오랜만에 포스팅을 하게 되었네요.

약간의 슬럼프 및 새로운 환경에 대한 적응 기간이 길었습니다.

약 8개월정도 블로그를 쉰거 같아요.

다시 오늘부터 START.

하겠습니다.


오늘은 MS사의 엑셀(excel) 단축키 중에


"메모 단축키"에 대해서 알아보겠습니다.


저도 엑셀에서 메모를 종종 쓰게 되는데,

그때마다 커서를 이용하여

아래 그림에서 보이는 메뉴 탭에서 찾아서 하는게 번거롭다고 생각이 들었습니다.


(맥북에서 사용하는 엑셀 UI 입니다.)


그래서 단축키를 .. 시간을 들여서 찾아본 결과!

단축키는 바로바로


"SHIFT + F2" 


이었습니다.


메모(Comment)를 생성 할때도,

메모(Comment)를 편집 할때

동일한 단축키를 사용하면 됩니다.


메모를 편집하고 싶은 sell로 가서 Shift + F2 를 누르면 바로 메모가 생기게 됩니다.


간단하죠?

이제 아래 하트버튼 꾹 누르고 다시 돌아가셔서 작업 편리하게 하시면 됩니다. ( _ _ )




오늘의 포스팅은 여기까지 입니다.

감사합니다.

도움이 되었다면, 하트 꾹 부탁드리겠습니다.


안녕하세요.

BlockDMask 입니다.


오랜만에..

(새 환경에 적응하느라..

블로그를 하네요.

다시 꾸준히 시작해보겠습니다.

프로그래머스 알고리즘 문제 입니다.

171110 문제 빼먹음 -> 171226 완료


0. 제목


프로그래머스 Level 2 콜라즈 추측

Programmers Level 2 Collatz

C++ 알고리즘 문제



1. 문제 설명


1937년 Collatz란 사람에 의해 제기된 이 추측은, 

입력된 수가 짝수 라면 2로 나누고,

홀수라면 3을 곱하고 1을 더한 다음,

결과로 나온 수에 같은 작업을 1이 될 때까지 반복할 경우 모든 수가 1이 된다는 추측입니다.


예를 들어, 입력된 수가 6 이라면 

6 -> 3 -> 10 -> 5 -> 16 -> 8 -> 4 -> 2 -> 1 이 되어

총 8번 만에 1이 됩니다.

collatz 함수를 만들어 입력된 수가 몇 번 만에 1 이 되는지 반환하면 됩니다.


단, 500번을 반복해도 1이 되지 않는다면 -1 을 반환하면 됩니다.



2. 풀이 과정


parameter로 받은 num을 1이 될때까지 반복문(while)을 돌립니다.

반복문(while)안에서 

조건1 -> 짝수라면 2로 나누고

조건2 -> 홀수라면 3을 곱하고 1을 더하고

조건3 -> 횟수가 500을 반복해도 1이 되지 않은다면 -1 반환.


각 조건을 작성해 주면서

answer(횟수)를 하나씩 더해줍니다.



3. 소스 코드


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
26
27
28
//https://programmers.co.kr/learn/challenge_codes/150
//LEVEL2_collatz
 
#include<iostream>
using namespace std;
 
int collatz(int num)
{
    int answer = 0;
 
    while(num != 1){
        if(answer>=500){
            return -1//조건
        }
 
        if(num%2 == 0//even
        {
            num = num >> 1;   //num /= 2;
        }
        else //odd
        {
            num = (num*3+ 1;
        }
        answer += 1;
 
    }
    return answer;
}
cs



4. 인증



<문제 출처>

https://programmers.co.kr/learn/challenge_codes/150


감사합니다.

'<문제풀이&연습> > [C++] Programmers' 카테고리의 다른 글

[Level 2] 콜라즈 추측  (0) 2017.12.26
[Level 1] 피보나치 수 (반복문)  (3) 2017.12.15
[Level 1] 최대공약수와 최소공배수  (0) 2017.12.14
[Level 1] 행렬의 덧셈  (0) 2017.12.13
[Level 1] 약수의 합  (0) 2017.12.12

안녕하세요

BlockDMask 입니다.

프로그래머스 알고리즘 문제 

C++ 로 풀었습니다.

171109 문제 빼먹음 -> 171215 완료


0. 제목


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

Programmers Level 1 Fibonacci

programmers C++ fibonacci



1. 문제 설명


피보나치 수는 

F(0) = 0, F(1) = 1 일때,

2 이상의 n에 대하여

F(n) = F(n-1) + F(n-2) 가 적용되는 점화식 입니다.


2 이상의 n이 입력되었을 때,

fibonacci 함수를 제작하여 n번째 피보나치 수를 반환하면 됩니다.


F(3) = 2

F(15) = 610

을 출력하면 됩니다.



2. 풀이 과정


제가 아는 피보나치 수를 구하는 방법은 

recursive 를 이용한 방법과 반복문을 이용하는 방법 이 있고,

반복문을 이용할때도 앞에 있는 숫자를 저장 하느냐 안하느냐 등등


여러 방법이 있지만


저는 배열을 선언해서 앞에 있는 숫자들을 저장하는 방법으로 문제를 풀었습니다.




3. 소스 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//https://programmers.co.kr/learn/challenge_codes/147
//LEVEL1_fibonacci
 
#include<iostream>
using namespace std;
 
long long fibonacci(int n)
{
    long long * arr = new long long[n+1]; //메모리 할당.
    arr[0= 0;
    arr[1= 1;
    
    for(int i=2; i<=n; i++){    // n번째 피보나치 수를 구해야 하므로 n까지.
        arr[i] = arr[i-1+ arr[i-2];
    }
    
    long long result = arr[n];
    delete []arr;   //메모리 해제
    return result;
}
cs



4. 인증



<문제 출처>

https://programmers.co.kr/learn/challenge_codes/147



한 걸음 한 걸음 꾸준히 공부하겠습니다.

감사합니다.

'<문제풀이&연습> > [C++] Programmers' 카테고리의 다른 글

[Level 2] 콜라즈 추측  (0) 2017.12.26
[Level 1] 피보나치 수 (반복문)  (3) 2017.12.15
[Level 1] 최대공약수와 최소공배수  (0) 2017.12.14
[Level 1] 행렬의 덧셈  (0) 2017.12.13
[Level 1] 약수의 합  (0) 2017.12.12
  1. 2017.12.19 14:02

    비밀댓글입니다

  2. 2017.12.23 13:16

    비밀댓글입니다

  3. 2017.12.25 14:47

    비밀댓글입니다

+ Recent posts