๐ก ๋ฌธ์
๋จธ์ฑ์ด๋ค ํผ์๊ฐ๊ฒ๋ ํผ์๋ฅผ ์ฌ์ฏ ์กฐ๊ฐ์ผ๋ก ์๋ผ ์ค๋๋ค. ํผ์๋ฅผ ๋๋ ๋จน์ ์ฌ๋์ ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n๋ช ์ด ์ฃผ๋ฌธํ ํผ์๋ฅผ ๋จ๊ธฐ์ง ์๊ณ ๋ชจ๋ ๊ฐ์ ์์ ํผ์ ์กฐ๊ฐ์ ๋จน์ด์ผ ํ๋ค๋ฉด ์ต์ ๋ช ํ์ ์์ผ์ผ ํ๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์.
์๊ตฌ์ฌํญ:
6๊ฐ๋ก ๋๋ ์ง ์กฐ๊ฐ๋ค์ ์ด์ฉํ์ฌ n๋ช ์ด ๋์ผํ ์์ ์กฐ๊ฐ์ ๋จน์ ๋ ํ์ํ ํผ์๊ฐ ์ด ๋ช ํ์ธ ์ง ๊ตฌํด์ผ ํ๋ค.
์ฆ, ํผ์๋ฅผ ๋ชจ๋ ๋๊ฐ์ ์์ ์กฐ๊ฐ์ผ๋ก ๋ถํ ํด์ ๋๋ ์ค์ผ ํ๋ค๋ ๋ป์ด๋ค.
ํด๊ฒฐ ๋ฐฉ๋ฒ:
ํผ์ ์กฐ๊ฐ ์๋ฅผ ๋๋ ์ ์๋ ์๋ฅผ ์ฐพ์์ผ ํ๋ค.
6์ผ๋ก ๋๋์ด ๋จ์ด์ง๋ ์๋ค์ ๋ชจ๋ 6๊ฐ์ ์กฐ๊ฐ์ผ๋ก ๋๋ ์ ์๋ ์๋ค์ด๋ค. ๊ทธ๋ฆฌ๊ณ n๋ช ์ด ๋์ผํ ์์ ์กฐ๊ฐ์ ๋จน๋๋ค๋ฉด, ๋ชจ๋ ์กฐ๊ฐ์ด ๋๋ ๋จ์ด์ง๋ ์๊ฐ ๋์ด์ผ ํ๋ค.
๋ฐ๋ผ์, 6 * i % n == 0์ ๋ง์กฑํ๋ i๋ฅผ ์ฐพ๋ ๊ฒ์ด ํ์ํ๋ค.
์ด๋ฅผ ์ํด์๋ ๋ค์๊ณผ ๊ฐ์ ๋ฐฉ์์ ๋ฐ๋ฅธ๋ค.
1. ์คํธ๋ฆผ ๋ฐฉ์์ผ๋ก IntStream.iterate()๋ฅผ ์ด์ฉํ์ฌ 1๋ถํฐ ์์ํ๋ ๋ฌดํ ์คํธ๋ฆผ์ ์์ฑํ๋ค.
2. filter()๋ฅผ ์ด์ฉํ์ฌ 6i๊ฐ n์ ๋ฐฐ์์ธ ๊ฒฝ์ฐ๋ฅผ ํํฐ๋งํ๋ค.
3. ๊ทธ ์ค ์ฒซ ๋ฒ์งธ ์์๋ฅผ ์ฐพ์์ ๋ฐํํ๋ค.
์๊ณ ๋ฆฌ์ฆ: ์ต์๊ณต๋ฐฐ์ ๊ตฌํ๊ธฐ
์ฌ๋ฌ ๊ฐ์ ์์ ๊ณตํต๋ ๋ฐฐ์๋ฅผ ์ฐพ๋ ๋ฌธ์ ๋ก, 6๊ฐ์ ์กฐ๊ฐ์ ๊ฐ์ง ํผ์์ ๊ฐ์์ ๋ํ ์ต์๊ณต๋ฐฐ์๋ฅผ ๊ตฌํ๋ ๊ฒ์ด ๋ชฉ์ ์ด๋ค.
์๊ฐ ๋ณต์ก๋: O(n)
์ฒ์๋ถํฐ 6์ฉ ์ฆ๊ฐ์ํค๋ฉด์ ๋๋์ด ๋จ์ด์ง๋ ์๋ฅผ ์ฐพ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์, n์ด ์ฆ๊ฐํจ์ ๋ฐ๋ผ ๋น๋กํด์ ์ํ์๊ฐ์ด ์ฆ๊ฐํ๋ค.
๐ ๋ด ๋ต์
import java.util.stream.IntStream;
class Solution {
public int solution(int n) {
return IntStream.iterate(1, i -> i + 1).filter(i -> 6 * i % n == 0).findFirst().getAsInt();
}
}
'๐ Algorithm > PGS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์ ํ์ ๊ฐ์ (0) | 2023.03.15 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฐ์ด ๋ค์ง๊ธฐ(JAVA) (0) | 2023.03.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํผ์ ๋๋ ๋จน๊ธฐ (1) (JAVA) (0) | 2023.03.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฐ์ด ์๋ฅด๊ธฐ (JAVA) (0) | 2023.03.14 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์๋ ์ซ์ด์ (JAVA) (1) | 2023.03.13 |