๐ ๋ฌธ์
๐ ํด๊ฒฐ ๋ฐฉ๋ฒ
c++์์๋ string์ ์ฌ์ฉํ ์ ์์ง๋ง c๋ก ํ๋ ค๋ค๋ณด๋ ๋ฌธ์์ด์ ์ด๋ป๊ฒ ๋ฐฐ์ด์ ๋ฃ์์ง ๊ณ ๋ฏผํ๋๋ผ ์ข ์ ๋ฅผ ๋จน์๋ ๋ฌธ์ ์ด๋ค.
์ฐ์ ์ฃผ์ด์ง ์์ด ๋ชจ๋ white ์ธ ๊ฒฝ์ฐ,
์ ํญ๊ฐ์ 99000000000์ผ๋ก intํ์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๊ฒ ๋๋ค.
๋ฐ๋ผ์ ์ ํญ๊ฐ์ ์ ์ฅํ ๋ณ์๋ ๋ฐ๋์ long long์ผ๋ก ์ ์ธํด์ฃผ์ด์ผ ํ๋ค!
์ ๋ ฅ๋ฐ์ ์์ ์ ์ฅํ input ๋ฐฐ์ด์ ๋ฌธ์์ด์ ์ ์ฅํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ 2์ฐจ์ ๋ฐฐ์ด๋ก ์ ์ธํด์ฃผ๋ฉด ๋๋ค.
๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ๋๋ sccanf ์์ & ๊ธฐํธ๊ฐ ํ์์๋ค๋ ์ฌ์ค์ ๊ทธ๋ง ๊น๋จน์...
๋ํ ์ ํญ๊ฐ์ ์ ๋ณด๋ฅผ ์ ์ฅํ color ๋ฐฐ์ด๋ 2์ฐจ์์ผ๋ก ์ ์ธํด์ฃผ๋ฉด ๋๋ค.
color ๋ฐฐ์ด์๋ ๊ฐ ์ธ๋ฑ์ค์ ํด๋นํ๋ ์๋ง ์ ์ฅํ๋ฉด ๋๊ณ , ๊ฐ์ด๋ ๊ณฑ์ ์ ์ฅํ ํ์๊ฐ ์๋ค.
์ธ๋ฑ์ค ์์ฒด๊ฐ ๊ฐ์ด ๋๊ณ
pow(10, ์ธ๋ฑ์ค) ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณฑ์ด ๋์ค๊ธฐ ๋๋ฌธ์ด๋ค. ( <math.h> ํค๋ ์ ์ธ ํ์)
์ฆ, ์ธ๋ฑ์ค๋ง ์์ผ๋ฉด ๋๋ค!
color ๋ฐฐ์ด์ ๋๋ฉด์ ๋ด๊ฐ ์ ๋ ฅํ ์ ํญ๊ฐ๊ณผ ๊ฐ์ ๊ฒ์ ์ฐพ์๋ด๋ฉด ๋๋๋ฐ
์ด๋ ๋น๊ต๋ strcmp ํจ์๋ฅผ ์ฌ์ฉํ๋ค. ( <string.h> ํค๋ ์ ์ธ ํ์)
์ ํญ๊ฐ์ ์ ์ฅํ ๋ณ์๋ฅผ long long ์ผ๋ก ์ ์ธํ์ผ๋๊น ์ถ๋ ฅํ ๋๋ "%lld" ๋ก ์ถ๋ ฅํ๋ ๊ฒ์ ์์ง๋ง์๋ค!
๐ ๋ด ์ฝ๋(C)
// [1076] ์ ํญ
// https://www.acmicpc.net/problem/1076
#include <stdio.h>
#include <math.h>
#include <string.h>
int main(void)
{
long long answer = 0;
char input[3][7];
char color[10][7] = {"black", "brown", "red", "orange", "yellow", "green", "blue", "violet", "grey", "white"};
for(int i = 0 ; i < 3 ; i++) {
scanf("%s", input[i]);
for(int j = 0 ; j < 10 ; j++) {
if(!strcmp(input[i], color[j])) {
if(i == 0) {
answer += j * 10;
break;
}
else if(i == 1) {
answer += j;
break;
}
else if(i == 2) {
answer *= pow(10, j);
break;
}
}
}
}
printf("%lld\n", answer);
}
'Baekjoon > ์ํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2908] ์์ (0) | 2020.04.04 |
---|---|
[2577] ์ซ์์ ๊ฐ์ (0) | 2020.04.01 |
[2442] ๋ณ ์ฐ๊ธฐ - 5 (0) | 2020.04.01 |
[2292] ๋ฒ์ง(C/C++) (0) | 2020.03.30 |
[1094] ๋ง๋๊ธฐ (0) | 2020.03.01 |