OLD개발이야기/알고리즘 공부

    C++/ double 소수점 자리 뒤 출력 /int string 으로

    내가 궁금한거는123456이 있을 때, 456만 출력하고 싶다면?부터 시작해서 그냥 수 출력에 대해서 간단히 정리해 보았당. 12345678910111213141516171819202122double d=123.123456789; cout

    알고리즘 공부 ) 프로그래머스 - 최대공약수와 최소공배수 C++

    유클리드 호제법(Euclidean algorithm)은 2개의 자연수 또는 정식(整式)의 최대공약수를 구하는 알고리즘의 하나이다. 호제법이란 말은 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 1. 입력으로 두 수 m,n(m>n)이 들어온다.2. n이 0이라면, m을 출력하고 알고리즘을 종료한다.3. m이 n으로 나누어 떨어지면, n을 출력하고 알고리..

    Vector사용법

    vector 문법 템플릿 형식 templateclass vectorT는 vector 컨테이너 원소의 형식 생성자 vector vv는 빈 컨테이너이다. vector v(n)v는 기본값으로 초기화된 n개의 원소를 갖는다. vector v(n,x)v는 x 값으로 초기화된 n개의 원소를 갖는다. vector v(v2)v는 v2 컨테이너의 복사본이다.(복사 생성자 호출) vector v(b,e)v는 반복자 구간 [b,e)로 초기화된 원소를 갖는다. 멤버함수 v.assign(n,x)v에 x 값으로 n개의 원소를 할당한다. v.assign(b,e) v를 반복자 구간 [b,e)로 할당한다. v.at(i)v의 i번째 원소를 참조한다. v.back()v의 마지막 원소를 참조한다. p=v.begin()p는 v의 첫 원소를 ..

    프로그래머스 숫자의표현 C++ 알고리즘 문제 Level4

    알아가기+)math.h 의 ceil()함수, float를 무조건 올림하여 인트형으로, round()는 반올림floor()는 내림 수학을 공부하던 민지는 재미있는 사실을 발견하였습니다. 그 사실은 바로 연속된 자연수의 합으로 어떤 숫자를 표현하는 방법이 여러 가지라는 것입니다. 예를 들어, 15를 표현하는 방법은 (1+2+3+4+5) (4+5+6) (7+8) (15) 로 총 4가지가 존재합니다. 숫자를 입력받아 연속된 수로 표현하는 방법을 반환하는 expressions 함수를 만들어 민지를 도와주세요. 예를 들어 15가 입력된다면 4를 반환해 주면 됩니다. #include using namespace std; int expressions(int testCase) { int answer = 0; for(in..

    프로그래머스 효진이 멀리 뛰기 C++ 알고리즘 연습 level3

    효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 출력하는 jumpCase 함수를 완성하세요. 예를 들어 4가 입력된다면, 5를 반환해 주면 됩니다. #include #include using namespace std; int jumpCase(int n) { if(n==1) return 1; else if(n==2) return 2; else return (jumpCase(..

    프로그래머스 야근지수 C++알고리즘 연습 level3

    프로그래머스 야근지수 C++알고리즘 연습 level3 야근 지수 회사원인 수민이는 많은 일이 쌓여 있습니다. 수민이는 야근을 최소화하기 위해 남은 일의 작업량을 숫자로 메기고, 일에 대한 야근 지수를 줄이기로 결정했습니다. 야근 지수는 남은 일의 작업량을 제곱하여 더한 값을 의미합니다. 수민이는 1시간 동안 남은 일 중 하나를 골라 작업량 1만큼 처리할 수 있습니다. 수민이의 퇴근까지 남은 N 시간과 각 일에 대한 작업량이 있을 때, noOvertime 함수를 제작하여 수민이의 야근 지수를 최소화 한 결과를 출력해 주세요. 예를 들어, N=4 일 때, 남은 일의 작업량이 [4, 3, 3] 이라면 야근 지수를 최소화하기 위해 일을 한 결과는 [2, 2, 2]가 되고 야근 지수는 22 + 22 + 22 = ..