ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์
array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํํ์ธ์.
์ ํ์ฌํญ
- arr์ ์์ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์ ๋๋ค.
- ์ ์ i, j์ ๋ํด i ≠ j ์ด๋ฉด arr[i] ≠ arr[j] ์ ๋๋ค.
- divisor๋ ์์ฐ์์ ๋๋ค.
- array๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์ ๋๋ค.
์ ์ถ๋ ฅ ์
| arr | divisor | return |
| [5, 9, 7, 10] | 5 | [5, 10] |
| [2, 36, 1, 3] | 1 | [1, 2, 3, 36] |
| [3,2,6] | 10 | [-1] |
๋ฌธ์ ์ค๋ช
์ ์ถ๋ ฅ ์#1 - arr์ ์์ ์ค 5๋ก ๋๋์ด ๋จ์ด์ง๋ ์์๋ 5์ 10์ ๋๋ค. ๋ฐ๋ผ์ [5, 10]์ ๋ฆฌํดํ๋ค.
์ ์ถ๋ ฅ ์#2 - arr์ ๋ชจ๋ ์์๋ 1์ผ๋ก ๋๋์ด ๋จ์ด์ง๋๋ค. ์์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด [1, 2, 3, 36]์ ๋ฆฌํดํ๋ค.
์ ์ถ๋ ฅ ์#3 - 3, 2, 6์ 10์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ต๋๋ค. ๋๋์ด ๋จ์ด์ง๋ ์์๊ฐ ์์ผ๋ฏ๋ก [-1]์ ๋ฆฌํดํ๋ค.
ํ์ด
- ๋ฐ๋ณต๋ฌธ์ผ๋ก ๋ฐฐ์ด์์ ํ๋์ฉ ๊บผ๋ด๋๋ก ํ๋ค.
- ์กฐ๊ฑด๋ฌธ์ผ๋ก divisor๋ก ๋๋์ด ๋จ์ด์ง๋ฉด answer์ ์ฐจ๋ก๋ก ๋๋์ด ๋จ์ด์ง๋ element๋ฅผ ๋ฃ๋๋ก ํ๋ค.
- ๋๋์ด ๋จ์ด์ง๋ ๊ฒ ์๋ ๊ฒฝ์ฐ, -1์ ๋ฐํํ๋ค.
- ๋ง์ง๋ง์ผ๋ก answer์ ์ ๋ ฌํ ํ ๋ฐํํ๋ค.
Solution
def solution(arr, divisor):
answer = []
for i in arr:
if i % divisor == 0:
answer.append(i)
if not answer: return [-1]
answer.sort()
return answer
Another Solution
def solution(arr, divisor): return sorted([n for n in arr if n%divisor == 0]) or [-1]'๐งฉ Algorithm > [Programmers] Level 1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Programmers 2016๋ (Python/Level 1) (0) | 2022.07.26 |
|---|---|
| Programmers K๋ฒ์งธ์ (Python/Level 1) (0) | 2022.07.25 |
| Programmers ๋๋จธ์ง๊ฐ 1์ด ๋๋ ์ ์ฐพ๊ธฐ (Python/Level 1) (0) | 2022.07.24 |
| Programmers ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (Python/Level 1) (0) | 2022.07.06 |
| [Programmers] L1. ํ์ค๋ ์ (ํ์ด์ฌ) (0) | 2022.06.23 |