https://school.programmers.co.kr/learn/courses/30/lessons/120835
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
[ ๋ฌธ์ ์ค๋ช ]
์ธ๊ณผ์์ฌ ๋จธ์ฑ์ด๋ ์๊ธ์ค์ ์จ ํ์์ ์๊ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ง๋ฃ ์์๋ฅผ ์ ํ๋ ค๊ณ ํฉ๋๋ค. ์ ์ ๋ฐฐ์ด emergency๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์๊ธ๋๊ฐ ๋์ ์์๋๋ก ์ง๋ฃ ์์๋ฅผ ์ ํ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
[ ํ์ด ]
class Solution {
public int[] solution(int[] emergency) {
int len = emergency.length; //emergency๋ฐฐ์ด์ ๊ธธ์ด ์ ์ธ
int[] answer = new int [len]; //์ ๋ต๋ฐฐ์ด ์ ์ธ
//์ด์คfor๋ฌธ์ผ๋ก emergency๋ฐฐ์ด ์ํ
for (int i=0; i<len; i++) {
for (int j=0; j<len; j++) {
if (emergency[i] < emergency[j]) {
//์์ ๋ณด๋ค ํฐ ์์๊ฐ ์์๋๋ง๋ค
answer[i]++; //์ ๋ต๋ฐฐ์ด +1 ์ฆ๊ฐ
}
}
answer[i]++;
//์ ๋ต๋ฐฐ์ด์ 0์ผ๋ก ์ด๊ธฐํ๋์ด์์ผ๋ฏ๋ก ๋ชจ๋ ์์ +1 ๋ํด์ค
}
return answer;
}
}
import java.util.*;
class Solution {
public int[] solution(int[] emergency) {
int len = emergency.length;
int[] answer = new int[len];
Map<Integer, Integer> map = new HashMap<>();
//map์ ์ธ
for (int i = 0; i < len; i++) {
map.put(emergency[i], i);
//key:์๊ธ๋
//value:์ธ๋ฑ์ค
}
Arrays.sort(emergency);
//์ค๋ฆ์ฐจ์ ์ ๋ ฌ
//3 24 76
int rank = emergency.length;
//์ง๋ฃ์์๋ฅผ ๋งค๊ฒจ์ค ๋ณ์ rank์ ์ธ
//emergency์ซ์๊ฐ ์์์๋ก rank๊ฐ ํฌ๋ค!
//์ฒ์ rank๋ ๋๋ฑ์๋ถํฐ ์์ (์ค๋ฆ์ฐจ์ ์ ๋ ฌ๋์ด์๊ธฐ ๋๋ฌธ)
for (int i=0; i<len; i++) { //emergency๋ฐฐ์ด ์ํํ๋ฉด์(์๊ธ๋ ๋ฎ์๊ฒ๋ถํฐ)
answer[map.get(emergency[i])] = rank;
//map์ผ๋ก value(์ธ๋ฑ์ค) ๊ฐ์ ธ์จ ํ, ํด๋น ์ธ๋ฑ์ค์ rankํ ๋น
rank--;
//rank -1ํด์ฃผ๊ธฐ
}
return answer;
}
}
'๐ฅ Coding Test > ์ค๋ต๋ ธํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [์ ๋ฌธ] ์จ์ด์๋ ์ซ์์ ๋ง์ (2) (0) | 2023.08.14 |
|---|---|
| [Lv.1] ๋ช ์์ ์ ๋น (0) | 2023.08.13 |
| [์ ๋ฌธ] ์บ๋ฆญํฐ์ ์ขํ (0) | 2023.08.04 |
| [์ ๋ฌธ] ์ธ๊ณ์ด ์ฌ์ (0) | 2023.08.04 |
| [์ ๋ฌธ] ๊ณต ๋์ง๊ธฐ (0) | 2023.08.03 |