본문 바로가기

코딩/C, C++, C#3

BAEKJOON(백준) 1463번 C++17 풀이 문제 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 설명 Dynamic Programming 문제이다. Dynamic Programming이란 Divide&Conquer 방식과 많이 비교되는 알고리즘이다. 둘 다 큰 문제를 작은 문제로 쪼개서 접근한다. 작은 문제의 답을 통해 큰 문제의 답을 도출해낸다. 그래서 함수의 재귀호출이 주로 사용된다. 단, Dynamic Programmin.. 2020. 1. 7.
중위수식을 후위수식으로 바꾸는 알고리즘 학교 과제로 했던 알고리즘이다코드를 다듬지 않아서 주석이 많고 변수명이 헷갈리기 쉽다 ※ 처음에 중위수식을 칠 때 공백문자(스페이스바)로 각 숫자와 연산자를 구별해야한다!ex) "(2+3)"이 아닌, "( 2 + 3 )"으로 입력해야 함12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412.. 2019. 3. 16.
재귀호출 이용한 하노이탑 출력 알고리즘 학교 과제로 했던 알고리즘이다클린코드 과정을 거치기 전 형태 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571.. 2019. 3. 16.