분류 전체보기

    CodeUp / Recursion(재귀) / 1930번 / SuperSum / C++

    SuperSumSuperSum 함수는 다음과 같이 정의된다. SuperSum(0,n)=n (n은 모든 양의 정수) SuperSum(k,n)=SuperSum(k−1,1)+SuperSum(k−1,2)+...+SuperSum(k−1,n) k와 n이 여러개 주어진다. SuperSum의 값을 각각 출력하시오. 입력 k(1n(1EOF(End Of File)이다. (입력 처리 방법) while( scanf("%d %d", &k, &n) != EOF ) printf("%d\n", SuperSum(k, n)); 출력 SuperSum(k,n)SuperSum(k,n)의 값을 각 행에 하나씩 출력한다. 입력 예시 1 3 2 3 4 10 10 10 출력 예시 6 10 2002 167960 도움말 ACM-ICPC타입의 입출력방식..

    CodeUp / Recursion(재귀) / 1929번 / 우박수(3n+1) - reverse / C++

    콜라츠의 추측, 3n+13n+1 문제, 우박수 문제라고 불리는 이 문제는 다음과 같다. 1, 어떤 자연수 nn이 입력되면, 2. nn이 홀수이면 3n+13n+1을 하고, 3. nn이 짝수이면 n2n2를 한다. 4. 이 nn이 11이 될때까지 2 32 3과정을 반복한다. 예를 들어 55는 55 → 1616 → 88 → 44 → 22 → 11 이 된다. 그런데 이번에는 이 순서의 역순을 출력하고자 한다. 즉, 11 22 44 88 1616 55 가 출력되어야 한다. 이 처럼 어떤 자연수 nn이 입력되면 위 알고리즘에 의해 11이 되는 과정을 모두 출력하시오. 이 문제는 반복문 for, while 등을 이용하여 풀수 없습니다. 금지 키워드 : for while goto 입력 자연수 nn이 입력된다.(13n+1..

    CodeUp / Recursion(재귀) / 1928번 / 우박수(3n + 1) - basic / C++

    콜라츠의 추측, 3n+13n+1 문제, 우박수 문제라고 불리는 이 문제는 다음과 같다. 1, 어떤 자연수 nn이 입력되면, 2. nn이 홀수이면 3n+13n+1을 하고, 3. nn이 짝수이면 n2n2를 한다. 4. 이 nn이 11이 될때까지 2 32 3과정을 반복한다. 예를 들어 55는 55 → 1616 → 88 → 44 → 22 → 11 이 된다. 이 처럼 어떤 자연수 nn이 입력되면 위 알고리즘에 의해 11이 되는 과정을 모두 출력하시오. 이 문제는 반복문 for, while 등을 이용하여 풀수 없습니다. 금지 키워드 : for while goto 입력 자연수 nn이 입력된다.(13n+13n+1이 되는 과정에서 intint범위를 넘는 수는 입력으로 주어지지 않는다. 출력 3n+13n+1의 과정을 출력..

    CodeUp / Recursion(재귀) /1920번 / 2진수 변환 /C++

    문제 설명 어떤 1010진수 nn이 주어지면 22진수로 변환해서 출력하시오. 예) 10 -----> 1010 0 -----> 0 1 -----> 1 2 -----> 10 1024 -----> 10000000000 이 문제는 반복문을 이용하여 풀 수 없습니다. 금지 키워드 : for while goto 입력 1010진수 정수 nn이 입력된다. (022진수로 변환해서 출력한다. 입력 예시 7 출력 예시 111 #include using namespace std; void binary(int k) { if(k != 0) { if(k % 2 == 0) { // k가 짝수일때 binary(k / 2); cout k; if(!k) cout

    백준 / String(문자열) / 2908번 / 상수 / C++

    문제 상근이의 동생 상수는 수학을 정말 못한다. 상수는 숫자를 읽는데 문제가 있다. 이렇게 수학을 못하는 상수를 위해서 상근이는 수의 크기를 비교하는 문제를 내주었다. 상근이는 세 자리 수 두 개를 칠판에 써주었다. 그 다음에 크기가 큰 수를 말해보라고 했다. 상수는 수를 다른 사람과 다르게 거꾸로 읽는다. 예를 들어, 734와 893을 칠판에 적었다면, 상수는 이 수를 437과 398로 읽는다. 따라서, 상수는 두 수중 큰 수인 437을 큰 수라고 말할 것이다. 두 수가 주어졌을 때, 상수의 대답을 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 상근이가 칠판에 적은 두 수 A와 B가 주어진다. 두 수는 같지 않은 세 자리 수이며, 0이 포함되어 있지 않다. 출력 첫째 줄에 상수의 대답을 출력한다. 1..

    백준 / String(문자열) / 1152 / 단어의 개수 / C++

    문제 영어 대소문자와 띄어쓰기만으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다. 입력 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. 출력 첫째 줄에 단어의 개수를 출력한다. #include #include using namespace std; int main() { int cnt = 0; string str; getline(cin, str); cnt++; for (int i = 0; ..