저항 (백준 1076)

코딩생활·2023년 11월 22일
0

백준문제풀이

목록 보기
71/308

안녕하세요. 오늘은 저항의 값을 구해볼 거예요.

문제

https://www.acmicpc.net/problem/1076

아이디어

사실 0만 아니였어도 쉽게 풀 수 있는 문제였습니다.
하지만 0이 생기면서 말이 달라집니다.

만약 첫번째 혹은 두번째 문자열에서 0이 아닌 값이 나오면 그 값을 출력하고 print를 true로 바꿔줍니다.
그런데 두번째 문자열이고 0인데 print가 true다? 그러면 출력합니다.
맨 마지막에는 print가 true일때만 그 숫자만큼 0을 출력, 아니면 0 하나만 출력해주면 됩니다.

소스코드

#include <iostream>
#include <string>
using namespace std;

int main(void)
{
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    string s, color[10] = { "black","brown","red","orange","yellow","green","blue","violet","grey","white" };
    bool print = false;

    for (int i = 0; i < 3; i++)
    {
        cin >> s;
        int val;
        for (val = 0;; val++)
            if (color[val] == s) break;
        if (i <= 1 && val != 0)
        {
            cout << val;
            print = true;
        }
        else if (i == 1 && print == true)
        {
            cout << val;
        }
        if (i == 2)
        {
            if (print == true)
                for (int j = 0; j < val; j++)
                    cout << 0;
            else
                cout << 0;
        }
    }
}


갑사합니다.

0개의 댓글