반응형

전체보기 434

[Level 1] 행렬의 덧셈

안녕하세요 BlockDMask 입니다.프로그래머스 알고리즘 문제 풀어보겠습니다. 171107 문제 빼먹음 -> 171213 완료0. 제목프로그래머스 Level 1 행렬의 덧셈Programmers Level 1 Sum of matrixC++ vector container1. 문제 설명행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다.2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환하면 됩니다. 예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 이 주어지면같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해 주세요.)2...

[백준 1463] 1로 만들기 (DP)

안녕하세요 BlockDMask 입니다.이번주(17년 12월 11~15일)문제(1/3) 풀어보겠습니다.0. 제목백준 1463 1로 만들기 (DP)BOJ 1463 1로 만들기 (DP)1. 문제 설명정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. 1. X가 3으로 나누어 떨어지면, 3으로 나눈다. 2. X가 2로 나누어 떨어지면, 2로 나눈다. 3. 1을 뺀다.정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 합니다. 연산을 사용하는 횟수의 최소값을 출력하면 됩니다.--입력-- 첫째 줄에 1보다 크거나 같고, 10^6보다 작거나 같은 자연수 N이 주어집니다.--출력-- 첫째 줄에 연산을 하는 횟수의 최소 값을 출력합니다.ex) 입력이 10 이면, 9 (3번규칙)->..

[Level 1] 약수의 합 (C언어 약수구하기)

안녕하세요.BlockDMask 입니다. 프로그래머스 알고리즘에서C++ 을 지원하는 문제들을 차례대로 풀어보려합니다.[Level 1] 부터 Start !!171102 문제 빼먹음 -> 171212 완료 0. 제목- 프로그래머스 Level 1 약수의 합- Programmers Level 1 sum of divisors 1. 문제 설명- 어떤 수를 입력받아 그 수의 약수를 모두 더한 값을 반환하는 sumDivisor 함수를 완성하면 됩니다. 12가 입력이 되면 12의 약수인 {1, 2, 3, 4, 6, 12} 가 더해져서28이 반환되는 함수입니다. 2. 풀이 과정입력 받은 수 n 일때1 부터 n 까지 숫자를 하나씩 숫자를 돌리면서n 으로 나누어 떨어지면 sum에 더하는 방식입니다. 3. 소스 코드1234567..

[백준 2748] 피보나치 수2

안녕하세요. BlockDMask 입니다.제가 과거(17년 8월)에 피보나치 수 문제 에서 재귀함수로 풀었을때, 시간 초과가 난다고 판단하여 반복문으로 풀었던 적이 있었습니다.오늘 아침일찍 "큰돌"님 께서 이미 계산한 값을 캐싱(저장)함으로서 또다시 계산하는 시간을 줄여서 푸는 방법이 있다고 댓글을 달아주셨습니다. (가르침을 주셔서 감사합니다.)그러한 방법으로 피보나치 수 2문제를 풀어 봤습니다.0. 제목백준 2748 피보나치 수2BOJ 2748 피보나치 수2C/C++ Fibonacci 1. 문제 설명피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고 1번째 피보나치 수는 1이다.그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = F(n-1) + F(n-..

[백준 1924] 2007년

안녕하세요. BlockDMask 입니다.지난주에는 정말 기쁜 일이 있었고, 그 일 이후로 정신이 없어서 목금토일을 쉬었네요.다시 오늘부터 꾸준하게 !! 오늘의 문제 풀겠습니다.0. 제목백준 1924 2007년BOJ 1924 2007년C/C++ 달력문제1. 문제 설명오늘은 2007년 1월 1일 월요일 입니다. 그렇다면 2007년 X월 Y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.첫째 줄에 빈 칸을 사이에 두고 x(1> y; key = 0; } void solution(){ for(int i=0; i

[백준 5648] 역원소 정렬

안녕하세요. BlockDMask 입니다.오늘은 역원소 정렬이라는 문제를 풀어봤습니다.0. 제목 백준 5648 역원소 정렬BOJ 5648 역원소 정렬reverse and sort1. 문제 설명모든 원소가 양의 정수인 집합이 있을 때, 원소를 거꾸로 뒤집고 그 원소를 오름차순으로 정렬하는 프로그램을 작성하세요. 단, 원소를 뒤집었을 때 0이 앞에 선행되는 경우는 0을 생략해야 합니다.입력 첫 번째로 입력되는건 n (1

[C++] reinterpret_cast (타입캐스트 연산자)

안녕하세요 BlockDMask 입니다.이번에는 C++ 의 네가지 타입 캐스트 연산자 중에 (static_cast, const_cast, reinterpret_cast, dynamic_cast) reinterpret_cast 에 대해 알아보겠습니다.>reinterpret_cast 에 관한 기본 특성reinterpret_cast(expression)reinterpret_cast(대상) reinterpret_cast는 임의의 포인터 타입끼리 변환을 허용하는 캐스트 연산자 입니다. 또한 정수형을 포인터로 바꿀 수도 있습니다. (이때 정수값이 포인터의 절대 주소로 들어가게 됩니다. -> 위험)expression에 해당하는 것을 new_type으로 비트단위로 바꾸는 것 입니다. 다른 형태의 포인터로 변경이 가능하기..

[백준 1212] 8진수 2진수

안녕하세요. BlockDMask 입니다. 오늘은 8진수를 2진수로 바꾸는 문제를 풀어보았습니다.0. 제목백준 1212 8진수 2진수BOJ 1212 Oct to BinaryC/C++ 8진수를 2진수로1. 문제 설명8진수가 주어졌을때, 2진수로 변환하는 프로그램을 작성하시오.첫째 줄에 8진주가 주어집니다. 수의 "길이"는 333,334를 넘지 않습니다. 첫째 줄에 주어진 수를 2진수로 변환하여 출력합니다. 수가 0인 경우를 제외하고는 반드시 1로 시작해야 합니다.입력) 0출력) 0입력) 362출력) 111100102. 풀이 과정두가지 방법으로 문제를 풀었습니다.a. 8진수 한자리를 나누고, 나눈 몫과 나머지를 통해서 2진수 세자리로 변환하는 방식.b. 8진수 한자리를 미리 저장해둔 2진수 세자리로 변환하는 ..

[C++] const_cast (타입 캐스트 연산자)

안녕하세요. BlockDMask 입니다.오늘은 C++ 의 네가지 타입 캐스트 연산자 중에 (static_cast, const_cast, reinterpret_cast, dynamic_cast) const_cast 에 대해 알아보겠습니다.> const_cast 에 관한 기본 특성const_cast(expression)const_cast(대상) const_cast는 포인터(pointer) 또는 참조형(reference)의 상수성(const)를 잠깐 제거해주는데 사용합니다. const_cast는 volatile 키워드를 잠깐 제거해 주는 데에도 사용이 가능합니다. 다른 캐스트 연산자가 하는 형 변환은 불가능 하며 오직 상수성(const)를 제거하는 것만 사용가능 합니다. 또한 다른 캐스트 연산자는 const_..

[C++] static_cast (타입캐스트 연산자)

안녕하세요 BlockDMask 입니다.오늘은 C++의 네가지 타입변환 연산자 static_cast, dynamic_cast, reinterpret_cast, const_cast 중 static_cast에 대해 알아보겠습니다. > static_cast 기본 형태 static_cast(대상); static_cast(expression)특징 (논리적으로 변환 가능한 타입을 변환한다) compile 타임에 형변환에 대한 타입 오류를 잡아줍니다. 실수와 정수, 열거형과 정수형, 실수와 실수 사이의 변환 등을 허용한다. arr -> point로 변경 가능합니다.function -> function pointer로 변경 가능합니다. 포인터 타입을 다른것으로 변환 하는 것을 허용하지 않습니다. (compile erro..

반응형