lines์ ๊ธธ์ด๋ 3์ผ๋ก ์ ํด์ ธ์๊ธฐ๋๋ฌธ์ ์ ๋ถ์ ๋ฌด์กฐ๊ฑด ์ด 3๊ฐ์ด๋ค.
๊ทธ๋ฆฌ๊ณ ์ขํ๊ฐ ์๋ '๊ธธ์ด'๋ง ๊ตฌํ๋ ๊ฒ์ด๊ธฐ๋๋ฌธ์.. ๊ฒน์น๋ ๋ถ๋ถ์ด 2์ด์์ธ๋ถ๋ถ์ countํด์ฃผ๋ฉด ๋๋ค.
์ฒ์์๋, ๋ฌธ์์ด ํน์ ์ซ์๋ก ๊ฐ๊ฐ์ lines๋ฅผ ์์๋ก ๋ฃ๊ณ , ๊ฐ์ ์์๊ฐ 2๊ฐ ์ด์์ฉ ์์ผ๋ฉด countํ๋ฉด ๋ ๊น ํ๋๋
์ง์ง ์ด๋ ๊ฒ๋ง ์ง๊ฒ๋๋ฉด ํจ์จ์ ์ด์ง ๋ชปํ๋ค. ( ์๋์๊ฐ์๋ )
๊ทธ ๋ค์์, ์ต๋น๊ฐ ๊ตฌํ๋ฏ์ด ๋น ๋ฐฐ์ด์ ํ๋ ์์ฑํด์, count๋ index์ ์์น๊ฐ 2์ด์์ ๋ฝ์๊นํ๋๋
line ์์๊ฐ ์์๋ ์์๊ธฐ์ ์๋ผ์, ์ค๋๋ง์ HashMap์ ์ผ๋ค.
line ๋ฐฐ์ด๋ง๋ค ์ต์๊ฐ, ์ต๋๊ฐ์ ๊ตฌํด์ map์ ๊ทธ๋๋ก ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
๊ทธ๋ฆฌ๊ณ map์ value๊ฐ 2์ด์์ธ๊ฒ๋ค์ ๋ชจ๋ ๊ฒน์น๋ ๋ถ๋ถ !
import java.util.*;
class Solution {
public int solution(int[][] lines) {
int answer = 0;
HashMap<Integer, Integer> map=new HashMap<>();
for(int[] line : lines){
int min=Math.min(line[0],line[1]);
int max=Math.max(line[0],line[1]);
for(int i=min; i<max; i++){
map.put(i,map.getOrDefault(i,0)+1);
}
}
for(int x:map.values()) {
if (x >= 2) answer++;
}
return answer;
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][JAVA]17219๋ฒ : ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ (0) | 2022.12.29 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 0 : ํํ (0) | 2022.12.28 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 0 : ์น์์ด(1) (0) | 2022.12.26 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 0 : ์ฐ์๋ ์์ ํฉ (1) | 2022.12.25 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 0 : ์์ ์ง๋ (0) | 2022.12.24 |