[ํ๋ก๊ทธ๋๋จธ์ค LV.0 _ Swift] Day10 ์ง์์ ํฉ / ์ง์๋ ์ซ์ด์(feat. filter () )
๐ ๋ฌธ์ 1. ์ง์์ ํฉ
๐ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120831
โ ์ ์ถ ์ฝ๋
import Foundation
func solution(_ n:Int) -> Int {
var sum : Int = 0
for i in 1...n {
if i % 2 == 0 {
sum += i
}
}
return sum
}
1์์ ๋ถํฐ n๊น์ง ๋ฒ์๋ฅผ ๋ฐ๋ณต๋ฌธ for ~ in ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๊ณ
๋ค์ ์กฐ๊ฑด๋ฌธ if ๊ตฌ๋ฌธ ์์ i๊ฐ 2๋ก ๋๋์ด ๋จ์ด์ง๋ ์ง์๋ผ๋ฉด
์ง์์ ํฉ๊ณ๋ฅผ ์๋ฏธํ๋ sum์ i๋ฅผ ๋ํด์ฃผ์๋ค.
์ฌ๊ธฐ์ ์ผํญ์ฐ์ฐ์๋ฅผ ์ ์ฉํผ๋ณด๋ ค๊ณ ํ์์ผ๋
๋ฐ๋ณต๋ฌธ ์์ ์กฐ๊ฑด์์ด ๋ค์ด๊ฐ์ผํด์
์ผํญ์ฐ์ฐ์๋ณด๋ค๋ for ๊ตฌ๋ฌธ๊ณผ if ๊ตฌ๋ฌธ์ ์ค์ฒฉํ์ฌ
์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋จํ๊ฒ ์์ฑํ ์ ์๋ค๊ณ ํ๋จ๋์๋ค.
๐ ๋ฌธ์ 2. ์ง์๋ ์ซ์ด์
๐ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=swift
โ ์ ์ถ ์ฝ๋
import Foundation
func solution(_ n:Int) -> [Int] {
var array : [Int] = []
for i in 1...n {
if i % 2 != 0 {
array.append(i)
}
}
return array
}
if ๊ตฌ๋ฌธ์์ i๋ฅผ n์ผ๋ก ํท๊ฐ๋ ค์ ์๋ชป ์ ๋ ฅํ๋๋
1์์ n๊น์ง์ ์ซ์๋ค์ด ๋ชจ๋ ๋ฐฐ์ด์ ๋ค์ด๊ฐ๋ฒ๋ ธ,,,ใ
์ข ์ข ์ด๋ฐ ์ค์๋ฅผ ํ๋๋ฐ ๊ทธ๋๋ ์กฐ๊ธ์ฉ ๋ฌธ์ ๋ฅผ ํ๋ค ๋ณด๋
๊ฐ๋จํ for๋ฌธ๊ณผ if๋ฌธ์ด ์กฐ๊ธ์ ์ต์ํด์ง ๊ฒ ๊ฐ๋ค.
์ค๋ฅด์ฐจ์์ผ๋ก ์ ๋ ฌ์ 1์์๋ถํฐ n๊น์ง ๋ฐ๋ณตํ๋ฉด์
์์๋๋ก๋ ๋ฐฐ์ด์ ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์งํํ์ง ์์๋ค.
์ง๋ ์ฝํ ๋ฌธ์ ์์ ์ค๋ฆ์ฐจ์ ๊ตฌํ๋ ํจ์์๋
sorted()์ sorted() ๋ค์ ํ๋ฒ ํ์ด ๋ณด๊ณ ๋ง๋ฌด๋ฆฌ.
https://dkswlgus0314.tistory.com/17
๐ ๋ค๋ฅธ ํ์ด ๋ถ์
๋ฐฐ์ด์ append()๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ ๋ง๊ณ ๋ ๋ญ๊ฐ ์์๊น ํด์
๋ค๋ฅธ ์ฌ๋๋ค์ ํ์ด๋ฅผ ์ฐพ์ ๋ณด์๋๋ฐ filter๋ผ๋ ํจ์๋ฅผ ์ฌ์ฉํด
์ฝ๋๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ๋ง์ด๋ค ์์ฑํ ๊ฒ์ ๋ณผ ์ ์์๋ค.
์์ง $๊ฐ ๋ถ์ ๊ฐ๋ ์ด ์ต์ํ์ง ์์ ์ด๋ฐ ํ์ด๋ค์ ์ ๋ณด์ง ์์๋๋ฐ
๊ฐ๋จํ๊ฒ filter()๋ ์ ๊ณต๋ ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ๋ฐฐ์ด์ ๋ชจ๋ ์์๋ฅผ ๋ฐํํ๋ค๊ณ ํ๋ค.
๐ก ์ฌ๊ธฐ์ ์ถ๊ฐ์ ์ผ๋ก ๊ถ๊ธํ ๋ถ๋ถ์ Array()์ ์ญํ ์ด๋ค.
0๋ถํฐ n๊น์ง์ ๋ฒ์๋ฅผ ์๋ฏธํ๋๊ฑธ๋ก ํ๋จ๋๋๋ฐ..
์ด๊ฑด ์ข ๋ ์ฐพ์๋ณด๊ณ ์ถ๊ฐํด๋ณด์์ผ๊ฒ ๋ค.
๐ก ๊ทธ๋ฆฌ๊ณ ๋ฒ์๊ฐ 0๋ถํฐ๊ฐ ์๋๋ผ 1...n๊น์ง๋ก ์ค์ ํด๋
์ ์ ์๋์ด ๋๋๋ฐ ์ 0๋ถํฐ ํ์๊น๋ผ๋ ์๋ฌธ๊น์ง ํ๋ฌ์ค...
๐ก $๊ฐ ๋ถ์ด ์ด์ ์ ์ด๋ค ์ญํ ์ ํ๋์ง ์ข ๋ ์ฐพ์ ๋ด์ผ๊ฒ ๋ค.