PS

    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; ..

    백준 / String(문자열) / 1157번 / 단어 공부 / C++

    문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. #include #include using namespace std; int main() { string str; cin >> str; int alphaArr[26] = { 0, }; for (int i = 0; i < str.length(); i++) { if (str[i] ..