HackerRank Warming Up ์ด๋ณด ๋์ด๋์์๋ถํฐ ์์๋๋ก ์ญ-์ฑ ํ์ด๋ณด๊ธฐ
์์ฝ
Prepare/Algorithm/WarmUp
| ๋ฌธ์ ํ์ด | ํ๊ท ์์์๊ฐ | ๋์ด๋ | ์ฒด๊ฐ๋์ด๋ | ํด๊ฒฐ๋ชปํ๋ฌธ์ |
|---|---|---|---|---|
| 11๊ฐ | ์ฝ32๋ถ | easy | ๋๋ถ๋ถ ์ฝ์ง๋ง ํด์ปค๋ญํฌ์ ์์์ด ์ด์ํจ | 1๊ฐ |
๊ฐ ๋ฌธ์ ๋ณ ํ์ด๋ฐฉ์ ์์ฝ
| ์๋ฒ | ๋ฌธ์ | ํ์ด๋ฐฉ์ | ๋ค๋ฅธ์ฌ๋๋ค | ๋น๊ณ |
|---|---|---|---|---|
| 1 | Solve Me First | ๋จ์๊ณ์ฐ | ๋์ผ | ๊ธฐ๋ณธ์์๋ฌธ์ |
| 2 | Simple Array Sum | for๋ฌธ | ์ ๋ ฅ๊ณผ ๋์์ ์ฐ์ฐ | ย |
| 3 | Compare the Triplets | for๋ฌธ + if์กฐ๊ฑด | ๋์ผ | ย |
| 4 | A Very Big Sum | long์๋ฃํ | ๋์ผ | Overflow ์ฃผ์ |
| 5 | Diagonal Difference | 2์คfor๋ฌธ + if์กฐ๊ฑด | ํ๋์ for๋ฌธ์ผ๋ก๋ ๊ฐ๋ฅ | ์ธ๋ฑ์ค์ ํน์ง ํ์ฉํ๊ธฐ |
| 6 | Plus Minus | for๋ฌธ + if์กฐ๊ฑด | ๋์ผ | ์ถ๋ ฅ๊ฐ์ ์๋ฃํ ์ฃผ์ํ๊ธฐ |
| 7 | Staircase | for๋ฌธ + if์กฐ๊ฑด + OR์ฐ์ฐ | a[n-i]์์ #์ฐ๊ธฐ |
๊ฐ๋จํ๊ฒ ๊ฐ๋ฅํ๋ค! |
| 8 | Mini-Max Sum | 2์คfor๋ฌธ + if์กฐ๊ฑด | sort() ์ ๋ ฌ |
ํจ์๊ธฐ๋ฅ ์ ์์ ์ฌ์ฉํ ์ค ์๊ธฐ |
| 9 | Birthday Cake Candles | sort() + for๋ฌธ + if๋ฌธ |
max๋ฅผ ์ฐพ๋ ํจ์ ์คํ | ย |
| 10 | Time Conversion | substr()stoi()to_string() |
string์ ์ธ๋ฑ์ค๋ก ์กฐํ | string ๋ณต์ตํ์! |
| 11 | Grading Students | for๋ฌธ + if์กฐ๊ฑด | ๋์ผ | ๋๋จธ์ง์ฐ์ฐ ์ฐ์ตํ์! |
ํด๊ฒฐ๋ชปํ ๋ฌธ์
- ํ์๋ก ํ๋ ๊ฐ์ด ๋ฌด์์ด๊ณ , ์ด๋ป๊ฒ ๊ณ์ฐํ ์ง ๋ถ๋ช ํ ์๊ธฐ
if๋ฅผ ์ฌ์ฉํ๋ค๋ฉดelse๋ก ๋จ์ด์ง๋ ๊ฒฝ์ฐ๋ค ์์ง๋ง๊ณ ๊ด๋ฆฌํ๊ธฐ
๋ฌธ์ ์ดํด๋ ์๊ฐ๋ณด๋ค ๋น ๋ฅด๊ฒ ํ์ง๋ง,
๋๋จธ์ง ์ฐ์ฐ ๊ณ์ฐ์ ์๊ฐ์ด ๊ผฌ์ฌ๋ฒ๋ฆฐ ํ์ ํ์ง ๋ชปํ ๋ฌธ์ .
ํ๋ํ๋ ์จ๋ด๋ ค๊ฐ๋ฉฐ ๊ฐ ์ซ์๋ง๋ค ๊ณ์ฐ์ ๋ฐ๋ณตํ๊ณ ์์ผ ์ดํด๋ฅผ ํ ์ ์์๋ค.
vector<int> gradingStudents(vector<int> grades) {
vector<int> result(grades.size());
for(int i = 0; i<grades.size(); i++)
{
if(grades[i] >= 38)
{
int remain = grades[i] % 5;
if(remain >= 3) // ๋๋จธ์ง๊ฐ 3๋ณด๋ค ์ด๊ณผ๋ ์ด์์ด๋ ํท๊ฐ๋ฆผ
result[i] = grades[i] + (5 - remain); // 5-remain ์ ์๊ฐํ์ง ๋ชปํจ
else
result[i] = grades[i];
}
else
result[i] = grades[i]; // ์์ ์ ์ฉํ else๋ก ์๋ต ๊ฐ๋ฅํ๋ค๊ณ ์ฐฉ์คํจ
}
return result;
}