24.12.17

alwaysyoung2 ㅣ 2024. 12. 17. 14:47

하루에 코딩테스트 3개씩 풀어서 문제와 풀이 또는 오답노트를 작성하고자 합니다.

레벨 0부터 차근차근 다 풀어볼 예정입니다.

첫번째 문제는 단순하게 /n을 사용하여 출력하는 문제였습니다. 아직 초반인만큼 난이도가 높지는 않습니다.

 

#include <iostream>

using namespace std;

int main(void) {
    string message = "Let's go!";

    cout << "3\n2\n1" << endl;
    cout << message << endl;

    return 0;
}

 저의 해답입니다.

 

그외에도 다른 사람풀이를 확인했는데

#include <iostream>

using namespace std;

int main(void) {
    string message = "Let's go!";

    cout << "3"<< endl << "2"<< endl << "1" << endl;
    cout << message << endl;

    return 0;
}

이런식으로 endl를 연달아 사용하는 방법도 나쁘진 않아보였습니다.

 

두번째 문제입니다.

나머지를 어떻게 출력할 것인가? 라는 문제같아서

 

저의 해답은

#include <iostream>

using namespace std;

int main(void) {
    int angle1;
    int angle2;
    cin >> angle1 >> angle2;

    int sum_angle = (angle1 + angle2) % 360;
    cout << sum_angle << endl;
    return 0;
}

이것이었는데요. 다른 분들 풀이중에서

 

#include <iostream>

using namespace std;

int main(void) {
    int angle1;
    int angle2;
    cin >> angle1 >> angle2;

    int sum_angle = (angle1 + angle2 > 360) ? (angle1 + angle2) % 360 : angle1 + angle2;
    cout << sum_angle << endl;
    return 0;
}

이런식으로 조건문을 만드신 분도 계셨습니다. 제 생각에는 후자가 더 쓸 일이 많을 것 같습니다.

 

세번째 문제입니다.

저는 처음엔 break 를 사용해서 for 문을 바꿔야 생각했는데 그러면 2줄이상 고치게 되므로 막혀서 해답을 보게 되었습니다.

 

가장 위 해답입니다.

#include <iostream>

using namespace std;

int main(void) {
    int number;
    cin >> number;

    int answer = 0;

    while(number){
        answer += number % 100;
        number /= 100;
    }
    cout << answer << endl;
    return 0;
}

while 문을 사용하여 수정하면 한줄로 고칠 수 있었습니다.

이 외에도 좋은 해답이라고 생각되는 것은

#include <iostream>

using namespace std;

int main(void) {
    int number;
    cin >> number;

    int answer = 0;

    for(int i=0; number!=0; i++){
        answer += number % 100;
        number /= 100;
    }
    cout << answer << endl;
    return 0;
}

이런식으로 number!을 사용하여 for문의 조건을 바꾸면 되는 것이었습니다.

 

쉬운 문제라고는 하지만 다 까먹은 저는 기초부터 다시 해야겠다는 생각이 커지는 풀이였습니다.

'언리얼(Unreal) > 코딩테스트' 카테고리의 다른 글

24.12.19  (0) 2024.12.19