๋ฌธ์ ๋งํฌ: programmers.co.kr/learn/courses/30/lessons/42862
ํ์ด
ํ์์ด ๊ฐ์ง๊ณ ์๋ ์ฒด์ก๋ณต์ ์๋ฅผ ์ ์ฅํ๋ ๋ฐฐ์ด student๋ฅผ ๋ง๋ค๊ณ , ์ฒด์ก๋ณต์ ์์ด๋ฒ๋ฆฐ ํ์์ -1, ์ฌ๋ถ์ ์ฒด์ก๋ณต์ด ์๋ ํ์์ 1์ ๋ํด์ค๋๋ค. 1๋ฒ๋ถํฐ n๋ฒ ํ์ ์ค์์ ์ฒด์ก๋ณต์ด ์๋ ํ์์ ๊ฒฝ์ฐ ๋จผ์ ๋ฐ๋ก ์์ ํ์(student[i - 1])์๊ฒ ์ฒด์ก๋ณต์ ๋น๋ฆด ์ ์๋์ง ํ์ธํฉ๋๋ค. ์ฒด์ก๋ณต์ ๋น๋ฆด ์ ์๋ค๋ฉด ๋ค์ ํ์(student[i + 1])์๊ฒ ๋น๋ฆด ์ ์๋์ง ํ์ธํฉ๋๋ค.
์ต์ข ์ ์ผ๋ก student ๋ฐฐ์ด์ -1์ด ์ ์ฅ๋ ํ์์ ์ฒด์ก์์ ์ ์ฐธ๊ฐํ์ง ๋ชปํ๋ฏ๋ก answer์์ ์ ์ธํฉ๋๋ค.
์ด๋, ํ์ ๋ฒํธ๋ฅผ ๊ทธ๋๋ก ๋ฐฐ์ด์ index๋ก ์ฌ์ฉํ๋ ๊ฒ์ ์ฃผ์ํฉ๋๋ค. ๋ง์ฝ 5๋ช ์ ํ์์ด ์๋ค๋ฉด ๊ฐ ํ์์ ์ฒด์ก๋ณต ๊ฐ์๋ student[1], student[2], student[3], student[4], student[5]์ ์ ์ฅ๋ฉ๋๋ค. student[i - 1]๊ณผ student[i + 1]์ ์ ๊ทผํด์ผ ํ๋ฏ๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๋ ์ต๋ ํ์ ์์์ 2 ์ด์ ํฌ๊ฒ ์ก์์ผ ํฉ๋๋ค.
์์ค์ฝ๋
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
|
#include <string>
#include <vector>
using namespace std;
int student[33];
int solution(int n, vector<int> lost, vector<int> reserve) {
int answer = 0;
for(int i: lost) student[i] -= 1;
for(int i: reserve) student[i] += 1;
for(int i = 1; i <= n; i++) {
if(student[i] == -1) {
if(student[i - 1] == 1) {
student[i] = student[i - 1] = 0;
}
else if(student[i + 1] == 1) {
student[i] = student[i + 1] = 0;
}
}
}
for(int i = 1; i <= n; i++) {
if(student[i] != -1) answer++;
}
return answer;
}
|
cs |
๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)
'Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ํฐ ์ ๋ง๋ค๊ธฐ (0) | 2021.01.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์กฐ์ด์คํฑ (0) | 2021.01.10 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์ ๊ตญ์ฌ์ฌ ํ์ด (0) | 2020.08.16 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ํ๋ฆฐํฐ ํ์ด (0) | 2020.08.16 |
[ํ๋ก๊ทธ๋๋จธ์ค / C++] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ ํ์ด (0) | 2020.08.14 |