-
[Algo Rhythm๐บ๐] ํ๋ก๊ทธ๋๋จธ์ค ๊ณ ๋์ Kit ํAlgo Rhythm๐บ๐/Programmers 2020. 6. 30. 16:09
๋ฌธ์ ์ค๋ช
์ํ ์ง์ ์ ํ N๋๋ฅผ ์ธ์ ์ต๋๋ค. ๋ชจ๋ ํ์ ๊ผญ๋๊ธฐ์๋ ์ ํธ๋ฅผ ์ก/์์ ํ๋ ์ฅ์น๋ฅผ ์ค์นํ์ต๋๋ค. ๋ฐ์ฌํ ์ ํธ๋ ์ ํธ๋ฅผ ๋ณด๋ธ ํ๋ณด๋ค ๋์ ํ์์๋ง ์์ ํฉ๋๋ค. ๋ํ, ํ ๋ฒ ์์ ๋ ์ ํธ๋ ๋ค๋ฅธ ํ์ผ๋ก ์ก์ ๋์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ๋์ด๊ฐ 6, 9, 5, 7, 4์ธ ๋ค์ฏ ํ์ด ์ผ์ชฝ์ผ๋ก ๋์์ ๋ ์ด์ ์ ํธ๋ฅผ ๋ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด, ํ์ ๋ค์๊ณผ ๊ฐ์ด ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ๋์ด๊ฐ 4์ธ ๋ค์ฏ ๋ฒ์งธ ํ์์ ๋ฐ์ฌํ ์ ํธ๋ ๋์ด๊ฐ 7์ธ ๋ค ๋ฒ์งธ ํ์ด ์์ ํ๊ณ , ๋์ด๊ฐ 7์ธ ๋ค ๋ฒ์งธ ํ์ ์ ํธ๋ ๋์ด๊ฐ 9์ธ ๋ ๋ฒ์งธ ํ์ด, ๋์ด๊ฐ 5์ธ ์ธ ๋ฒ์งธ ํ์ ์ ํธ๋ ๋์ด๊ฐ 9์ธ ๋ ๋ฒ์งธ ํ์ด ์์ ํฉ๋๋ค. ๋์ด๊ฐ 9์ธ ๋ ๋ฒ์งธ ํ๊ณผ ๋์ด๊ฐ 6์ธ ์ฒซ ๋ฒ์งธ ํ์ด ๋ณด๋ธ ๋ ์ด์ ์ ํธ๋ ์ด๋ค ํ์์๋ ์์ ํ ์ ์์ต๋๋ค.
์ก์ ํ(๋์ด)
์์ ํ(๋์ด)
5(4)
4(7)
4(7)
2(9)
3(5)
2(9)
2(9)
-
1(6)
-
๋งจ ์ผ์ชฝ๋ถํฐ ์์๋๋ก ํ์ ๋์ด๋ฅผ ๋ด์ ๋ฐฐ์ด heights๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ๊ฐ ํ์ด ์ ์ ํธ๋ฅผ ์ด๋ ํ์์ ๋ฐ์๋์ง ๊ธฐ๋กํ ๋ฐฐ์ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
-
heights๋ ๊ธธ์ด 2 ์ด์ 100 ์ดํ์ธ ์ ์ ๋ฐฐ์ด์ ๋๋ค.
-
๋ชจ๋ ํ์ ๋์ด๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
-
์ ํธ๋ฅผ ์์ ํ๋ ํ์ด ์์ผ๋ฉด 0์ผ๋ก ํ์ํฉ๋๋ค.
๋๋ ์ด๋ป๊ฒ ํ์๋
import java.util.Arrays; class Solution { public int[] solution(int[] heights) { int n = heights.length; int[] answer = new int[n]; Arrays.fill(answer, 0); for(int i = n - 1; i > 0; i--) { int h = heights[i]; for(int j = i - 1; j >= 0; j--) { if(heights[j] > h){ answer[i] = j + 1; break; } } } return answer; } }
๋๋ ์ ์ ๋ ๊ฒ ํ์๋
๋ฌธ์ ์ ํ์ด ์คํ/ํ์ด๊ธด ํ์ง๋ง ๋ฌธ์ ๋ฅผ ์ฝ์๋ง์ ์ด๊ฑด ์์ ํ์ ๋ฌธ์ ๋ผ๊ณ ์๊ฐํ๋ค. ์๋ํ๋ฉด ๋งจ ์ค๋ฅธ์ชฝ์ ์์นํ ํ๋ถํฐ ์ํํ๋ฉด์ ๊ทธ ํ๋ณด๋ค ๋์ ํ๋ง ์ฐพ์ผ๋ฉด ๋๋ ๋ฌธ์ ์๊ธฐ ๋๋ฌธ์ด๋ค. ๊ทธ๋์ ์๋์ ๊ฐ์ ์๊ณ ๋ฆฌ์ฆ์ ์๊ฐํ๋ค.
- ํ์ ๊ฐ์ n์ด ๊ธธ์ด์ธ ๋ฐฐ์ด์ ์ ์ธํ๊ณ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
- ๋งจ ์ค๋ฅธ์ชฝ ํ๋ถํฐ ์ํํ๋ฉด์ ์๋์ ๊ฐ์ ๊ณผ์ ์ ๊ฑฐ์น๋ค.
- ์ผ์ชฝ์ ์๋ ํ๋ค์ ์ํํ๋ฉด์ ๋ ๋์ผ๋ฉด ๋ฐฐ์ด์ ์ ์ฅํ ๋ค 2๋ฒ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
๋๋ ๋ฌด์์ ๋ฐฐ์ ๋
Arryas javadoc์ ์ฝ๋ค๊ฐ fill์ด๋ผ๋ ๋ฉ์๋๋ฅผ ๋ฐ๊ฒฌํ๋ค. ์์ผ๋ก ์ด๊ธฐํํ ๋ ์ ์ฉํด์ผ๊ฒ ๋ค.
๊ทธ๋ฆฌ๊ณ ์ด ๋ฌธ์ ๋ฅผ ์ํ์ผ๋ก ํ๊ธด ํ์ง๋ง ์คํ/ ํ๋ก๋ ์ด๋ป๊ฒ ํ ์ ์๋์ง ๊ถ๊ธํ๋ค. ๋ ์๊ฐํด๋ด์ผ๊ฒ ๋ค.
'Algo Rhythm๐บ๐ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
-