모각코

[모각코] 2024 동계 모각코 02회차

귤파는 감자 2024. 1. 9. 19:14

일시 및 장소

- 2024년 1월 9일 화요일 19시 00분 ~ 22시 00분 (3시간)
- discord 팀 채널

목표

코드트리 시뮬레이션 - Notation 문제 풀기
1. 여러가지 진수변환
2. 십진수와 이진수 2
3. 진수 to 진수

#include <iostream>
using namespace std;

int main() {
    int N, B, cnt = 0;
    int bin[20] = {0};

    cin >> N >> B;

    while(true) {
        if (N < B) {
            bin[cnt++] = N;
            break;
        }
        bin[cnt++] = N % B;
        N = N / B;
    }

    for (int i = cnt-1; i >= 0; i--) {
        cout << bin[i];
    }
 
    return 0;
}

https://www.codetree.ai/missions/5/problems/various-numeral-system-transformations?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

#include <iostream>
#include <cmath>

using namespace std;

int main() {
    int N;
    int res = 0, cnt = 0;

    int bin[20] = {0};

    cin >> N;

    // Decimal
    while(true) {
        if (N <= 0) break;
        int first = N % 10;
        res += first * pow(2, cnt++);

        N /= 10;
    }

    res *= 17;

    // Binary
    cnt = 0;
    while(true) {
        if (res <= 0) {
            bin[cnt] = res / 2;
            break;
        }
        bin[cnt++] = res % 2;
        res /= 2;
    }

    // print
    for (int i = cnt-1; i >= 0; i--) {
        cout << bin[i];
    }

    return 0;
}

https://www.codetree.ai/missions/5/problems/decimal-and-binary-number-2?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

#include <iostream>
#include <cmath>

using namespace std;

int main() {
    int a, b, n, cnt = 0, dec = 0;
    int bin[20] = {0};

    cin >> a >> b >> n;

    // Decimal
    while(true) {
        if (n < a) {
            dec += n * pow(a, cnt);
            break;
        }
        int first = n % 10;
        dec += first * pow(a, cnt++);

        n /= 10;
    }

    // transformation
    cnt = 0;
    while(true) {
        if (dec < b) {
            bin[cnt] = dec;
            break;
        }
        bin[cnt++] = dec % b;

        dec /= b;
    }

    // print
    for (int i = cnt; i >= 0; i--) {
        cout << bin[i];
    }

    return 0;
}

https://www.codetree.ai/missions/5/problems/transformation-of-number-system?&utm_source=clipboard&utm_medium=text

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

느낀점

기본적으로 세 문제 다 진법변환을 하는 문제이지만, 조금씩 다른 방법으로 풀어보기 위해 이전에 작성하였던 코드는 보지 않고 풀었다.
그래서 시간은 꽤 소모됐던 것 같지만 문자열로 바꾸어서 풀어보기도 하고 while 문으로 조건을 조금씩 바꾸어서 풀어도 보았기 때문에 다음번에도 이러한 유형의 문제가 나온다면 빠르게 해결할 수 있을 것 같다.