์ „์ฒด ๊ธ€

๊น€ํ˜œ์ธ์€ ๋ฌด์—‡์„ ๊ณต๋ถ€ํ• ๊นŒ
๋ฌธ์ œhttps://www.acmicpc.net/problem/14888 ์ฝ”๋“œn = int(input())num = list(map(int, input().split()))operation = list(map(int, input().split())) # +, -, *, /maxi = -1e9mini = 1e9def dfs(idx, result, plus, minus, multiply, divide): global maxi, mini if idx == n: maxi = max(result, maxi) mini = min(result, mini) return if plus > 0: dfs(idx + 1, result + num[idx], pl..
๋ฌธ์ œhttps://www.acmicpc.net/problem/1012 ์ฝ”๋“œfrom collections import dequeT = int(input())for _ in range(T): n, m, k = map(int, input().split()) # ๊ฐ€๋กœ, ์„ธ๋กœ, ๋ฐฐ์ถ”๊ฐœ์ˆ˜ field = [[0 for _ in range(n)] for _ in range(m)] visit = [[False for _ in range(n)] for _ in range(m)] answer = 0 # ๋ฐฐ์ถ” ์ง€๋„ ๊ทธ๋ฆฌ๊ธฐ for l in range(k): x, y = map(int, input().split()) field[y][x] = 1 for i in..
๋‹ค๋ฅธ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋ ค๋ฉด ์ƒˆ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๋งŒ๋“ ๋‹ค์Œ intent๋ฅผ ํ†ตํ•ด์„œ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋‹ค.์˜ˆ์‹œ๋กœ ํ•˜๋‚˜์˜ ์‚ฌ์ง„์ฒฉ ์•ฑ์ด ์žˆ๋‹ค.์‚ฌ์ง„์ฒฉ์—์„œ ์‚ฌ์ง„ ํ•˜๋‚˜๋ฅผ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์‚ฌ์ง„์„ ํฌ๊ฒŒ ํ™•๋Œ€ํ•œ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ธฐ๋Šฅ์ด ์žˆ๋‹ค.๋งŒ์•ฝ ์‚ฌ์ง„์ฒฉ์— ์‚ฌ์ง„์ด 100๊ฐœ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค๋ฉด 100๊ฐœ์˜ ํ™•๋Œ€์‚ฌ์ง„ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๋งŒ๋“ค์–ด์„œ intent๋กœ ์—ฐ๊ฒฐํ•ด์ค˜์•ผํ• ๊นŒ?ํ™”๋ฉด๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ๋กœ ์•กํ‹ฐ๋น„ํ‹ฐ 100๊ฐœ๋ฅผ ๋งŒ๋“ค์ง€ ์•Š์•„๋„ ๋œ๋‹ค!  1. ์‚ฌ์ง„์ฒฉ ์•ฑ์—์„œ ์‚ฌ์ง„ ํด๋ฆญ์‹œ ํ•ด๋‹น์‚ฌ์ง„์„ ํฌ๊ฒŒ ๋ณด๋Š” ํ™”๋ฉด์œผ๋กœ ๋„˜์–ด๊ฐ€๊ธฐ์‚ฌ์ง„ ํด๋ฆญ์‹œ ํ™•๋Œ€์‚ฌ์ง„์œผ๋กœ ๋„˜์–ด๊ฐˆ ํ™”๋ฉด์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์ƒˆ ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ๋งŒ๋“ ๋‹ค. ์ด๋ฆ„์€ ImageInsideActivity ๋ผ๊ณ  ํ•˜๊ฒ ๋‹ค.์ƒˆ๋กœ ๋งŒ๋“  ์•กํ‹ฐ๋น„ํ‹ฐ์˜ xmlํŒŒ์ผ์— ImageView๋ฅผ ํ•˜๋‚˜ ์ƒ์„ฑํ•œ๋‹ค.๋„ˆ๋น„์™€ ๋†’์ด๋Š” match-parent๋กœ ์ง€์ •ํ•œ๋‹ค.match-pa..
์‚ฌ์ง„์„ ๋ ˆ์ด์•„์›ƒ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ํ™•๋Œ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ?ImageView์˜ ์†์„ฑ ์ค‘ scaleType์„ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.android:scaleType = "center"์›๋ณธ์˜ ๊ฐ€๋กœ์„ธ๋กœ ๋น„์œจ์„ ์œ ์ง€ํ•˜๋ฉฐ ๋ ˆ์ด์•„์›ƒ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ํ™•๋Œ€ํ•œ๋‹ค. ์ด ๋•Œ ๋ ˆ์ด์•„์›ƒ๋ณด๋‹ค ์ด๋ฏธ์ง€๊ฐ€ ๋” ํฌ๋‹ค๋ฉด ๋ฒ—์–ด๋‚œ ์ด๋ฏธ์ง€๋Š” ์ถœ๋ ฅ๋˜์ง€ ์•Š๋Š”๋‹ค.android:scaleType = "fitXY"์›๋ณธ์˜ ๊ฐ€๋กœ์„ธ๋กœ ๋น„์œจ์„ ๋ฌด์‹œํ•˜๊ณ  ๋ ˆ์ด์•„์›ƒ ํฌ๊ธฐ์— ๋งž์ถฐ์„œ ํ™•๋Œ€ํ•œ๋‹ค. ์›๋ณธ์˜ ๊ฐ€๋กœ์„ธ๋กœ ๋น„์œจ์„ ๋ฌด์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฒฐ๊ณผ๋ฌผ์ด ์„ธ๋กœ๋กœ ๋Š˜๋ ค์ง€๊ฑฐ๋‚˜ ๊ฐ€๋กœ๋กœ ๋Š˜๋ ค์ง„๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ๋‹ค.์œ„์˜ ๋‘๊ฐ€์ง€ ์™ธ์— scaleType์—๋Š” 6๊ฐ€์ง€์˜ ์ข…๋ฅ˜๊ฐ€ ๋” ์žˆ๋‹ค. ์•„๋ž˜ ๋งํฌ์— scaleType์˜ 8๊ฐ€์ง€ ์ข…๋ฅ˜๊ฐ€ ์ž˜ ์„ค๋ช…๋˜์–ด์žˆ๋‹ค.https://sharp57dev.tistory.com/..
์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด ์ด๋ž€?์‚ฌ์šฉ์ž๊ฐ€ ๋ณด๊ฒŒ ๋  ๋Œ€๊ธฐํ™”๋ฉด์ด๋‹ค.์•ฑ์ด ๋กœ๋”ฉ๋˜๋Š” ๋™์•ˆ์˜ ๋”œ๋ ˆ์ด ์‹œ๊ฐ„์— ์ž ๊น ๋ณด์—ฌ์งˆ์ˆ˜๋„ ์žˆ๊ณ , ์‹คํ–‰ ์ „ ์ž ๊น์˜ ์†Œ๊ฐœํ™”๋ฉด์œผ๋กœ๋„ ์“ฐ์—ฌ์งˆ ์ˆ˜ ์žˆ๋‹ค. ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด ๊ตฌํ˜„1. ๋ฉ”์ธ ํ™”๋ฉด๋ณด๋‹ค ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด์„ ์•ž์ˆœ์„œ๋กœ ๋‚˜์˜ค๊ฒŒ ํ•˜๊ธฐ์Šคํ”Œ๋ž˜์‹œ ํ™”๋ฉด์— ๋ณด์—ฌ์งˆ ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ drawble ํŒŒ์ผ์— ๋„ฃ์–ด๋‘”๋‹ค.์ƒˆ๋กœ์šด ์•กํ‹ฐ๋น„ํ‹ฐ๋ฅผ ํ•˜๋‚˜ ๋งŒ๋“ ๋‹ค. ์ด ์•กํ‹ฐ๋น„ํ‹ฐ ์ด๋ฆ„์€ SplashActivity๋ผ๊ณ  ํ• ๊ฒƒ์ดใ…ใ„ท.Mainfests ํŒŒ์ผ์— AndroidMainfest.xml ํŒŒ์ผ์— ๊ฐ€๋ฉด MainActivity์˜ activity ํƒœ๊ทธ์•ˆ์— ๊ฐ€ ์žˆ์„๊ฒƒ์ด๋‹ค. ์ „์ฒด๋ฅผ ์ž˜๋ผ์„œ SplashActivity์˜ activityํƒœ๊ทธ์•ˆ์— ๋ถ™์—ฌ๋„ฃ๋Š”๋‹ค.์ด ๊ณผ์ •์„ ์™„๋ฃŒํ•˜๋ฉด ์•ฑ ์‹คํ–‰์‹œ ๋ฉ”์ธ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์Šคํ”Œ๋ž˜์‹œ ์•กํ‹ฐ๋น„ํ‹ฐ๊ฐ€ ๋จผ์ € ๋œจ๊ฒŒ ๋ ๊ฒƒ์ด๋‹ค. 2. ์Šคํ”Œ..
์ƒˆ๋กœ์šด ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? 1. ์ด๋™ํ•  ์ƒˆ ํ™”๋ฉด์„ ๋งŒ๋“ ๋‹ค.์ƒˆ๋กœ์šด Activity๋ฅผ ์ƒˆ๋กœ ๋งŒ๋“ ๋‹ค. ( Activityํ•˜๋‚˜๊ฐ€ ํ™”๋ฉด ํ•˜๋‚˜๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. )MainActivity๊ฐ€ ์žˆ๋Š” ํด๋”์— ์ƒˆ๋กœ์šด Activity๋ฅผ ๋งŒ๋“ ๋‹ค.์—ฌ๋Ÿฌ ์•กํ‹ฐ๋น„ํ‹ฐ ์ข…๋ฅ˜๋“ค์ด ์žˆ์ง€๋งŒ, ์˜ˆ์‹œ์—์„  ๋นˆ ์•กํ‹ฐ๋น„ํ‹ฐ(Empty Views Activity)๋ฅผ ๋งŒ๋“ ๋‹ค. ์ƒ์„ฑ์‹œ Generate Layout File์— ์ฒดํฌํ‘œ์‹œ๊ฐ€ ๋˜์–ด์žˆ๋‹ค๋ฉด Activity ์ƒ์„ฑ์‹œ ๊ทธ์— ๋งž๋Š” xml ํŒŒ์ผ๋„ ๊ฐ™์ด ์ž๋™์ƒ์„ฑ ๋œ๋‹ค.๊ฐ™์ด ์ž๋™์ƒ์„ฑ๋œ xmlํŒŒ์ผ์— ์ƒˆ๋กœ์šด ํ™”๋ฉด์˜ ๊ตฌ์„ฑ์„ ๋””์ž์ธํ•˜๋ฉด ๋œ๋‹ค.  2. Intent ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒˆ ํ™”๋ฉด์œผ๋กœ ์ด๋™ํ•œ๋‹ค.Intentํ•จ์ˆ˜๋ฅผ ๋‹ด์„ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ์ƒˆ๋กœ ์„ ์–ธํ•œ๋‹ค.Intent ํ•จ์ˆ˜ ์•ˆ์— Intent(this, (..
์–ด๋–ค ์š”์†Œ๋ฅผ ํด๋ฆญํ–ˆ์„ ๋•Œ ์„ค์ •ํ•œ ๋ฐ˜์‘์ด ๋‚˜์˜ค๋„๋ก ํ•˜๊ธฐ ์œ„ํ•ด์„  ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? 1. ๋จผ์ € xml ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€ ์š”์†Œ์˜ id๋ฅผ ์ง€์ •ํ•ด์ค€๋‹ค. ์˜ˆ์‹œ์ฝ”๋“œ๋Š” ์ด๋ฏธ์ง€ ํŒŒ์ผ์„ ์š”์†Œ๋กœ ์„ค์ •ํ•˜์˜€๋‹ค  2. ํ”„๋กœ๊ทธ๋žจ์ด ์š”์†Œ๊ฐ€ ํด๋ฆญ ๋˜์—ˆ๋‹ค๋Š”๊ฒƒ์„ ์•Œ์•„์•ผ ํ•œ๋‹ค.MainActivity ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€ ๋ณ€์ˆ˜๋ฅผ ํ•˜๋‚˜ ์„ ์–ธํ•œ๋‹ค.๋ ˆ์ด์•„์›ƒ์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ findViewById()๋ฅผ ๋ณ€์ˆ˜์— ๋‹ด๋Š”๋‹ค.ImageView๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š”์ž๋ฃŒํ˜•์ด ๋“ค์–ด๊ฐˆ ๋Œ€๊ด„ํ˜ธ์— ImageView๋ฅผ ์ ์–ด์ค€๋‹ค.์†Œ๊ด„ํ˜ธ ์•ˆ์—๋Š” ImageView ์ค‘์— hyein_1์„ ๊ฐ€์ ธ์˜ฌ๊ฑฐ๊ธฐ ๋•Œ๋ฌธ์— R.id.hyein_1์„ ์ ์–ด์ค€๋‹ค.val image1 = findViewById(R.id.hyein_1)  3. ์š”์†Œ๊ฐ€ ํด๋ฆญ๋˜์—ˆ์„ ๋•Œ ์–ด๋–ค ํ–‰์œ„๋ฅผ ์ผ์–ด๋‚ ์ง€ ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค.(์š”์†Œ..
Linear Layout๋‚ด์šฉ๋ฌผ๋“ค์„ ์ˆ˜ํ‰ ๋˜๋Š” ์ˆ˜์ง์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค.๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆ˜ํ‰ ๋ฐฐ์น˜๋‹ค.์ˆ˜์ง์œผ๋กœ ๋ฐฐ์น˜ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด android:orientation:"vertical"์„ ์จ์ฃผ๋ฉด ๋œ๋‹ค.๋งŒ์•ฝ ์ˆ˜ํ‰์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค๊ณ  ๋”ฐ๋กœ ์ ๊ณ  ์‹ถ๋‹ค๋ฉด android:orientation:"horizontal"์„ ์จ์ฃผ๋ฉด ๋œ๋‹ค.๋ ˆ์ด์–ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋”ฐ๋กœ ์„ค์ •ํ•ด ์ค„ ์ˆ˜ ์žˆ๋‹ค.์ž๋™์„ค์ •์ธ wrap_content์™€ match_parent๋กœ ์„ค์ •ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.wrap_content : ๋‚ด์šฉ๋ฌผ์˜ ํฌ๊ธฐ์— ๋งž์ถ˜๋‹ค.match_parent : ํ™”๋ฉด์„ ์ตœ๋Œ€ํฌ๊ธฐ๋กœ ๊ฝ‰์ฑ„์šด๋‹ค.  ์‚ฌ์ง„ ์‚ฝ์ž…drawble ํŒŒ์ผ์•ˆ์— ์›ํ•˜๋Š” ์ด๋ฏธ์ง€๋ฅผ ๋ฏธ๋ฆฌ ๋„ฃ์–ด๋‘”๋‹ค.xmlํŒŒ์ผ๋กœ ๊ฐ€์„œ ImageView ์š”์†Œ๋ฅผ ์ ์–ด์ค€๋‹ค.์ด๋ฏธ์ง€์˜ ๋„ˆ๋น„์™€ ๋†’์ด๊ฐ€ ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋˜๋Š”๋ฐ, ๊ฐœ๋ฐœ์ž๊ฐ€ ๋”ฐ๋กœ ์„ค์ •ํ•ด..
์ฝ”๋ฃจํ‹ด(coroutine)๋น„๋™๊ธฐ๋กœ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ฃจํ‹ด์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.๋ฉ”์ธ ๋ฃจํ‹ด์€ ๋”ฐ๋กœ๋‘๊ณ , ๋ณ„๋„๋กœ ์ง„ํ–‰์ด ๊ฐ€๋Šฅํ•œ ๋ฃจํ‹ด์ด๋‹ค.๊ฐœ๋ฐœ์ž๊ฐ€ ์‹คํ–‰, ์ข…๋ฃŒ๋ฅผ ๋งˆ์Œ๋Œ€๋กœ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.์ฝ”๋ฃจํ‹ด์„ ์‚ฌ์šฉํ•˜๊ธฐ์ „ ์ตœ์ƒ๋‹จ์— "import kotlinx.coroutines.*" ์„ ์จ์ค˜์•ผํ•œ๋‹ค. ์ฝ”๋ฃจํ‹ด์˜ scope์ œ์–ด๋ฒ”์œ„ ๋ฐ ์‹คํ–‰ ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.GlobalScope์™€ CoroutineScope๋กœ ๋‚˜๋‰œ๋‹ค.GlobalScopeํ”„๋กœ๊ทธ๋žจ ์–ด๋””์—์„œ๋‚˜ ์ œ์–ด์™€ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•œ ์ฝ”๋ฃจํ‹ด์˜ ๊ธฐ๋ณธ ๋ฒ”์œ„๋‹ค.CoroutineScopeํŠน์ •ํ•œ ๋ชฉ์ ์˜ Dispatcher๋ฅผ ์ง€์ •ํ•˜์—ฌ ์ œ์–ด ๋ฐ ๋™์ž‘์ด ๊ฐ€๋Šฅํ•œ ์ƒˆ๋กœ์šด ์ฝ”๋ฃจํ‹ด์˜ ๋ฒ”์œ„๋‹ค.CoroutineScope๋ฅผ ๋งŒ๋“ค ๋•Œ ์ ์šฉ ๊ฐ€๋Šฅํ•œ Dispatcher๋Š” ์„ธ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. Dispatchers.Default..
๋น„ํŠธ์—ฐ์‚ฐ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜๋ฅผ 10์ง„๋ฒ•์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ๋Œ€์‹  2์ง„๋ฒ•์œผ๋กœ ๊ณ„์‚ฐํ•œ๋‹ค.์‹ค๋ฌด์—์„œ ๋น„ํŠธ์—ฐ์‚ฐ์€ ๊ฑฐ์˜ ๊ณ„์‚ฐ์— ์‚ฌ์šฉ ํ•˜์ง€ ์•Š์œผ๋ฉฐ ์ •์ˆ˜ํ˜•์˜ ๊ฐ’์„ ๋น„ํŠธ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ฐ์ดํ„ฐ๋ฅผ ์ข€ ๋” ์ž‘์€ ๋‹จ์œ„๋กœ ๋‹ด์•„ ๊ฒฝ์ œ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉ๋œ๋‹ค.์˜ˆ์‹œ32๋น„ํŠธ์˜ 2์ง„์ˆ˜ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜ ์•ˆ์— 0๋˜๋Š” 1์ด 32๊ฐœ ๋‹ด๊ธธ ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ๋‹ค.32๊ฐœ์˜ ๊ฐ’์„ ํ•˜๋‚˜์˜ ์ •๋ณด๋งŒ ๋‚˜ํƒ€๋Š”๋ฐ ์“ฐ์ง€์•Š๊ณ , ์•ž์— 5๋น„ํŠธ์™€ ๋’ค์— 27๋น„ํŠธ์— ์„œ๋กœ ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๋‹ด๋Š” ๊ฐ’์„ ๋„ฃ์„ ์ˆ˜ ์žˆ๋‹ค.์ด๋ ‡๊ฒŒ ๋ณ€์ˆ˜ ํ•˜๋‚˜์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ๋‹ด์•„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.๋น„ํŠธ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ถ€ํ•˜๋„ ๋ฌด์‹œํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์ฃผ๋กœ ํ”Œ๋ž˜๊ทธ ๊ฐ’(์—ฌ๋Ÿฌ๊ฐœ์˜ ์ƒํƒœ๊ฐ’์„ 0๊ณผ 1๋กœ ๋‹ด๋Š” ๋ฐฉ๋ฒ•)์„ ์ฒ˜๋ฆฌํ•˜๊ฑฐ๋‚˜ ๋„คํŠธ์›Œํฌ์—์„œ ํ”„๋กœํ† ์ฝœ์˜ ๋ฐ์ดํ„ฐ ์–‘์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.2์ง„์ˆ˜ ์ •์ˆ˜ํ˜• ๋ณ€์ˆ˜๋Š” ์ขŒ์ธก์œผ๋กœ ๊ฐˆ์ˆ˜๋ก ์ƒ์œ„๋น„ํŠธ, ..
varํ•œ๋ฒˆ ์„ ์–ธํ•ด๋‘” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค. valํ•œ๋ฒˆ ์„ ์–ธํ•ด๋‘” ๋ณ€์ˆ˜์˜ ๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค.val์€ ํ• ๋‹น๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†์„ ๋ฟ์ด์ง€ ๊ฐ์ฒด ๋‚ด๋ถ€์˜ ์†์„ฑ์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š”๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. ์ƒ์ˆ˜ํ•œ๋ฒˆ ์„ ์–ธํ•ด๋‘” ๋ณ€์ˆ˜์˜ ๊ทธ ๋ฌด์—‡๋„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋‹ค. ์ปดํŒŒ์ผ ์‹œ์ ์— ๊ฒฐ์ •๋˜๋Š” ์ ˆ๋Œ€ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฐ’์ด๋‹ค.์„ ์–ธํ• ๋•Œ val์•ž์— const๋ฅผ ๋ถ™์ด๋ฉด ๋œ๋‹ค.์ƒ์ˆ˜๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋Š”๊ฒƒ์€ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค.(String์ž๋ฃŒํ˜• ํฌํ•จ) ๋Ÿฐํƒ€์ž„์— ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋“ค์€ ๋‹ด์„ ์ˆ˜ ์—†๋‹ค.์ƒ์ˆ˜๋Š” ํด๋ž˜์Šค์˜ ์†์„ฑ์ด๋‚˜ ์ง€์—ญ๋ณ€์ˆ˜๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.๋ฐ˜๋“œ์‹œ companion object์— ์„ ์–ธํ•˜์—ฌ ๊ฐ์ฒด์˜ ์ƒ์„ฑ๊ณผ ์ƒ๊ด€์—†์ด ํด๋ž˜์Šค์™€ ๊ด€๊ณ„๋œ ๊ณ ์ •์ ์ธ ๊ฐ’์œผ๋กœ๋งŒ ์‚ฌ์šฉํ•˜๊ฒŒ ๋œ๋‹ค.์ƒ์ˆ˜์˜ ์ด๋ฆ„์„ ๋งŒ๋“ค๋•Œ๋Š” ๊ด€๋ก€์ ์œผ๋กœ ๋Œ€๋ฌธ์ž์™€ ์–ธ๋”๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜..
์ปฌ๋ ‰์…˜์„ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•˜์—ฌ ํฌํ•จ๋œ ์š”์†Œ๋“ค์„ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ์‚ฌ์šฉํ–ˆ๋‹ค.ํ•˜์ง€๋งŒ ์ฝ”ํ‹€๋ฆฐ์€ ํ•จ์ˆ˜ํ˜• ์–ธ์–ด์˜ ํŠน์ง•์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ข€ ๋” ํŽธ๋ฆฌํ•˜๊ฒŒ ์ปฌ๋ ‰์…˜์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ์ปฌ๋ ‰์…˜ ํ•จ์ˆ˜list, set, map๊ณผ ๊ฐ™์€ ์ปฌ๋ ‰์…˜ ๋˜๋Š” ๋ฐฐ์—ด์— ์ผ๋ฐ˜ ํ•จ์ˆ˜ ๋˜๋Š” ๋žŒ๋‹ค ํ•จ์ˆ˜ ํ˜•ํƒœ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ ์—†์ด๋„ ์š”์†Œ๋ฅผ ์ฐธ์กฐํ•˜์—ฌ ์ˆœํšŒํ•˜๊ฑฐ๋‚˜ ์กฐ๊ฑด์„ ๊ฑธ๊ณ  ๊ตฌ์กฐ์˜ ๋ณ€๊ฒฝ๊นŒ์ง€ ๊ฐ€๋Šฅํ•œ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํ•จ์ˆ˜๋ฅผ ์ง€์นญํ•œ๋‹ค. forEach์ปฌ๋ ‰์…˜ ๊ฐ์ฒด์— ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๊ด„ํ˜ธ ์•ˆ์—์„œ ์ปฌ๋ ‰์…˜์— ํฌํ•จ๋œ ๋ชจ๋“  ์š”์†Œ๋ฅผ it์ด๋ผ๋Š” ๋ณ€์ˆ˜๋กœ ์ˆœ์„œ๋Œ€๋กœ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.collection.forEach{ println(it)}  filter์ปฌ๋ ‰์…˜ ๊ฐ์ฒด์— ์‚ฌ์šฉํ•˜๋ฉด ์ค‘๊ด„ํ˜ธ ์•ˆ์—์„œ it์— ์กฐ๊ฑด์„ ๊ฑธ์–ด ์กฐ๊ฑด์— ๋งž๋Š” ๊ฐ์ฒด๋งŒ ๋‹ค์‹œ ์ปฌ๋ ‰์…˜์œผ๋กœ ๋งŒ๋“ค์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.collection.forEach..