๋ฌธ์
์ฝ๋
#include <string>
#include <vector>
#include <map>
using namespace std;
int solution(int left, int right) {
int answer = 0;
map<int,int>divisor;
for(int i=1; i<1000; i++){ // ์ฝ์์ ๊ฐฏ์ ์ฐพ๊ธฐ
for(int k=1; k<=i; k++){
if(i%k==0) divisor[i]++;
}
}
for(int i=left; i<=right; i++){ // ์ฝ์์ ๊ฐฏ์๊ฐ ํ์๋ฉด ๋นผ๊ณ , ์ง์๋ฉด ๋ํ๋ค.
if(divisor[i]&1) answer-=i;
else answer+=i;
}
return answer;
}
ํ์ด
์๋ฒฝ 5์ 21๋ถ. ์ ์ด ์ค์ง ์์์ ์ค๋๋ง์ ํ๋ก๊ทธ๋๋จธ์ค์ ์ ์ํ์ฌ ๊ฐ๋จํ ๋ฌธ์ ํ๋๋ฅผ ์ฐพ์์ ํ์์ต๋๋ค. ์ต๋ ์ ๋ ฅ๊ฐ์ด 1000๊น์ง๋ก ์์ ์๊ฐ ๋ค์ด์ค๊ธฐ ๋๋ฌธ์ O(n^2)์ผ๋ก ๋จผ์ ๊ฐ ์๋ง๋ค ์ฝ์์ ๊ฐ์๋ฅผ ์ ๋ถ ์ฐพ์์ ์ ์ฅํ ๋ค ํ์๋ฉด ๋นผ๊ณ , ์ง์๋ฉด ๋ํ๋ ์์ผ๋ก ํ์ดํ์์ต๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ผ๊ฐ ๋ฌํฝ์ด(Level 2) (0) | 2022.03.14 |
---|---|
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ก๋(Level 2) (0) | 2022.03.04 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์์ด ๋๋ง์๊ธฐ(Level 2) (0) | 2022.03.04 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ํผ๋ณด๋์น ์( Level2) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์( Level1) (0) | 2021.11.08 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฐ๋ฌ( Level2) (0) | 2021.11.08 |
๋๊ธ