๐ป
[ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ] ๋คํธ ๊ฒ์ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] [1์ฐจ] ๋คํธ ๊ฒ์
๋ํจ๋ 2020. 5. 7. 01:37๋ฌธ์ ์ค๋ช
๋คํธ ๊ฒ์
์นด์นด์คํก์ ๋ฌ ๋ค ๋ฒ์งธ ๋ณ! ์ฌ์ฌํ ๋? ์นด์นด์คํก ๊ฒ์๋ณ~
์นด์นด์คํก ๊ฒ์๋ณ์ ํ๋ฐ๊ธฐ ์ ๊ท ์๋น์ค๋ก ๋คํธ ๊ฒ์์ ์ถ์ํ๊ธฐ๋ก ํ๋ค. ๋คํธ ๊ฒ์์ ๋คํธํ์ ๋คํธ๋ฅผ ์ธ ์ฐจ๋ก ๋์ ธ ๊ทธ ์ ์์ ํฉ๊ณ๋ก ์ค๋ ฅ์ ๊ฒจ๋ฃจ๋ ๊ฒ์์ผ๋ก, ๋ชจ๋๊ฐ ๊ฐ๋จํ ์ฆ๊ธธ ์ ์๋ค.
๊ฐ ์
์ฌํ ๋ฌด์ง๋ ์ฝ๋ฉ ์ค๋ ฅ์ ์ธ์ ๋ฐ์ ๊ฒ์์ ํต์ฌ ๋ถ๋ถ์ธ ์ ์ ๊ณ์ฐ ๋ก์ง์ ๋งก๊ฒ ๋์๋ค. ๋คํธ ๊ฒ์์ ์ ์ ๊ณ์ฐ ๋ก์ง์ ์๋์ ๊ฐ๋ค.
- ๋คํธ ๊ฒ์์ ์ด 3๋ฒ์ ๊ธฐํ๋ก ๊ตฌ์ฑ๋๋ค.
- ๊ฐ ๊ธฐํ๋ง๋ค ์ป์ ์ ์๋ ์ ์๋ 0์ ์์ 10์ ๊น์ง์ด๋ค.
- ์ ์์ ํจ๊ป Single(S), Double(D), Triple(T) ์์ญ์ด ์กด์ฌํ๊ณ ๊ฐ ์์ญ ๋น์ฒจ ์ ์ ์์์ 1์ ๊ณฑ, 2์ ๊ณฑ, 3์ ๊ณฑ (์ ์1 , ์ ์2 , ์ ์3 )์ผ๋ก ๊ณ์ฐ๋๋ค.
- ์ต์ ์ผ๋ก ์คํ์(*) , ์์ฐจ์(#)์ด ์กด์ฌํ๋ฉฐ ์คํ์(*) ๋น์ฒจ ์ ํด๋น ์ ์์ ๋ฐ๋ก ์ ์ ์ป์ ์ ์๋ฅผ ๊ฐ 2๋ฐฐ๋ก ๋ง๋ ๋ค. ์์ฐจ์(#) ๋น์ฒจ ์ ํด๋น ์ ์๋ ๋ง์ด๋์ค๋๋ค.
- ์คํ์(*)์ ์ฒซ ๋ฒ์งธ ๊ธฐํ์์๋ ๋์ฌ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ์คํ์(*)์ ์ ์๋ง 2๋ฐฐ๊ฐ ๋๋ค. (์์ 4๋ฒ ์ฐธ๊ณ )
- ์คํ์(*)์ ํจ๊ณผ๋ ๋ค๋ฅธ ์คํ์(*)์ ํจ๊ณผ์ ์ค์ฒฉ๋ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ค์ฒฉ๋ ์คํ์(*) ์ ์๋ 4๋ฐฐ๊ฐ ๋๋ค. (์์ 4๋ฒ ์ฐธ๊ณ )
- ์คํ์(*)์ ํจ๊ณผ๋ ์์ฐจ์(#)์ ํจ๊ณผ์ ์ค์ฒฉ๋ ์ ์๋ค. ์ด ๊ฒฝ์ฐ ์ค์ฒฉ๋ ์์ฐจ์(#)์ ์ ์๋ -2๋ฐฐ๊ฐ ๋๋ค. (์์ 5๋ฒ ์ฐธ๊ณ )
- Single(S), Double(D), Triple(T)์ ์ ์๋ง๋ค ํ๋์ฉ ์กด์ฌํ๋ค.
- ์คํ์(*), ์์ฐจ์(#)์ ์ ์๋ง๋ค ๋ ์ค ํ๋๋ง ์กด์ฌํ ์ ์์ผ๋ฉฐ, ์กด์ฌํ์ง ์์ ์๋ ์๋ค.
0~10์ ์ ์์ ๋ฌธ์ S, D, T, *, #๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ด ์ ๋ ฅ๋ ์ ์ด์ ์๋ฅผ ๋ฐํํ๋ ํจ์๋ฅผ ์์ฑํ๋ผ.
์ ๋ ฅ ํ์
์ ์|๋ณด๋์ค|[์ต์
]์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด 3์ธํธ.
์) 1S2D*3T
- ์ ์๋ 0์์ 10 ์ฌ์ด์ ์ ์์ด๋ค.
- ๋ณด๋์ค๋ S, D, T ์ค ํ๋์ด๋ค.
- ์ต์ ์ *์ด๋ # ์ค ํ๋์ด๋ฉฐ, ์์ ์๋ ์๋ค.
์ถ๋ ฅ ํ์
3๋ฒ์ ๊ธฐํ์์ ์ป์ ์ ์ ํฉ๊ณ์ ํด๋นํ๋ ์ ์๊ฐ์ ์ถ๋ ฅํ๋ค.
์) 37
์ ์ถ๋ ฅ ์์
์์ dartResultanswer์ค๋ช
1 | 1S2D*3T | 37 | 11 * 2 + 22 * 2 + 33 |
2 | 1D2S#10S | 9 | 12 + 21 * (-1) + 101 |
3 | 1D2S0T | 3 | 12 + 21 + 03 |
4 | 1S*2T*3S | 23 | 11 * 2 * 2 + 23 * 2 + 31 |
5 | 1D#2S*3S | 5 | 12 * (-1) * 2 + 21 * 2 + 31 |
6 | 1T2D3D# | -4 | 13 + 22 + 32 * (-1) |
7 | 1D2S3T* | 59 | 12 + 21 * 2 + 33 * 2 |
https://programmers.co.kr/learn/courses/30/lessons/17682
์๊ฐ
์ ๋ต๋ฅ ์ด ๋ฌด๋ ค 73ํผ์ผํธ์ธ ๊ฑธ ๋ณด๋ 18๋ ์นด์นด์ค๊ธฐ์ถ ๋ฌธ์ ์์ ์ ์ผ ๋์ด๋๊ฐ ๋ฎ์๋ค๊ณ ๋ณผ ์ ์๋ค.
๋ฌธ์ ์์ ์ฃผ์ด์ง ์์์ ์กฐ๊ฑด๋ค์ ๋ณด๊ณ ์ฝ๋๋ฅผ ์์ฑํ๋ฉด ๋๋ ๋ฌธ์ ์๋ค.
๊น๋ค๋ก์ด ์กฐ๊ฑด๋ค์ด ์์๋ค.
์ฒซ๋ฒ์งธ๋ก, *์ผ ๋์ ์ฒ๋ฆฌ
๋๋ฒ์งธ๋ก, ์ ์๊ฐ 10์ ์ผ ๋
์ด ๋๊ฐ์ง ์กฐ๊ฑด๋ค์ ์ด๋ป๊ฒ ์ฒ๋ฆฌํ ์ง์์ ๋งํ์ด ์์๋ค.
* ์ค๋ช ์ธ 5, 6๋ฒ์ด ํผ๋์ ์ฃผ์๋๋ฐ ์์ ๋ฅผ ์ฐธ๊ณ ํด์ ์ดํดํ๋ค.
๋คํธ๊ฒ์์ 3๋ฒ์ ๊ธฐํ๋ score[] ์ ์๋ฐฐ์ด๋ก ๋์๋ค.
idx๋ฅผ ๊ฒ์ํ์๋ฅผ ๋ํ๋ด๋ ๋ณ์๋ก ์ ์ธํ์๋ค.
cnt๋ณ์๋ ์ฆ๊ฐ์ํค๋ฉด์ ๋ฌธ์์ด ํ ์ธํธ ์์์ ์ ์, ๋ณด๋์ค, ์ต์ ์์ผ๋ก ์ฒดํฌํด์ฃผ๊ธฐ ์ํ ๋ณ์์ด๋ค.
(์ ์ถํ๊ณ ๋์ ๋ค๋ฅธ ์ฌ๋์ ํ์ด๋ฅผ ๋ณด๋ cnt๋ฅผ ๋ฐ๋ก ๋นผ์ ์ ์ธํด์ฃผ์ง ์๊ณ for๋ฌธ ์์ int ์ด๊ธฐํ ํ ๋ ๊ฐ์ด ๋ฃ์ด์ฃผ๋ ๋ฐฉ๋ฒ๋ ์์๋ค.)
ํด๊ฒฐ๋ฐฉ๋ฒ์,
์ฒซ๋ฒ์งธ ์กฐ๊ฑด์ ์ด์ ์ ์๋ *2๋ฐฐ์ฒ๋ฆฌ ํด์ค๋ค.
๋๋ฒ์งธ ์กฐ๊ฑด์ cnt๊ฐ 2์ผ๋(ํด๋น ๋ฌธ์์ด์ ๋๋ฒ์งธ ์๊ฐ S,D,T ๊ฐ ์๋ 0์ผ ๋) ์ ์๋ฅผ 10์ผ๋ก ๋ฃ์ด์ฃผ๊ณ cnt๋ฅผ ํ๋ ๋นผ์ค๋ค.
๊ทธ๋ฆฌ๊ณ cnt๊ฐ 3์ผ๋ ์ต์ ์ด ์์ ๋(*, # ์ด ์๋ ๋) i๋ฅผ ๊ฐ์์ํค๋ ๊ฒ๋ ์์ง ๋ง์์ผํ๋ค.
์์ฑํ ์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
#include <iostream>
#include <vector>
#include <cmath>
#include <string>
using namespace std;
int solution(string dartResult) {
int answer = 0;
int score[3] = {0, }; //์ ์๋ฐฐ์ด
int idx = 0;
int cnt = 1;
char c = dartResult[i];
if(cnt == 1){
score[idx] += c - '0';
cnt ++;
}else if(cnt == 2){
if(c == 'S'){
score[idx] = pow(score[idx], 1);
}else if(c == 'D'){
score[idx] = pow(score[idx], 2);
}else if(c == 'T'){
score[idx] = pow(score[idx], 3);
}else if(c == '0'){ //10์ธ ๊ฒฝ์ฐ
score[idx] = 10;
cnt--;
}
cnt ++;
}
else if(cnt == 3){
if (c == '*'){
score[idx] *= 2;
if(idx -1 >= 0){
score[idx-1] *= 2;
}
}else if(c == '#'){
score[idx] *= (-1);
}else { //์๋ ๊ฒฝ์ฐ
i--;
}
cnt = 1;
idx++;
}
}
answer = score[0] + score[1] + score[2];
return answer;
}
Colored by Color Scripter
|
'์๊ณ ๋ฆฌ์ฆ > ๋ฌธ์ ํ์ด Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง - ์ฟผ๋์์ถ ํ ๊ฐ์ ์ธ๊ธฐ (0) | 2020.10.21 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][2019 KAKAO ๋ธ๋ผ์ธ๋ ์ฑ์ฉ] ์คํจ์จ (0) | 2020.04.11 |
[ํ๋ก๊ทธ๋๋จธ์ค][2020 KAKAO ๋ธ๋ผ์ธ๋ ์ฑ์ฉ] ๊ดํธ๋ณํ (0) | 2020.04.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฅ (0) | 2020.04.11 |