์ „์ฒด ๊ธ€ 689

07์›” 06์ผ ๋ชจ๊ฐ์ฝ”_์™€ํŒฌํ˜ธ 1ํšŒ์ฐจ ๊ฒฐ๊ณผ ๋ณด๊ณ ์„œ

2021๋…„ 07์›” 06์ผ ํ™”์š”์ผ 21:00~24:00 ๐Ÿ”ฅ Baekjoon ๋ฌธ์ œ ํ•ด๊ฒฐ ๐Ÿ”ฅ โ‘  1009๋ฒˆ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ _ Python - b๊ฐ’๋งŒํผ ๋‹ค ๊ณฑํ•˜๋ฉด ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐœ์ƒ - ์ผ์˜ ์ž๋ฆฌ ์ˆ˜๊ฐ€ 4๋ฒˆ์”ฉ ๋ฐ˜๋ณต๋œ๋‹ค๋Š” ๊ฒƒ์„ ์ด์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅ - ์˜ˆ์™ธ์ฒ˜๋ฆฌ (10์ธ ๊ฒฝ์šฐ) ๊นŒ๋จน์ง€ ๋ง ๊ฒƒ! โ‘ก 14928 ํฐ ์ˆ˜ (BIG) _ Python - ๋‹จ์ˆœํžˆ ์ž…๋ ฅ๋ฐ›์€ ๊ฐ’์„ 20000303์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅ - ์‹œ๊ฐ„์ œํ•œ 2์ดˆ ์ด๋ฏ€๋กœ ์‹œ๊ฐ„ ์ดˆ๊ณผ ๋ฐœ์ƒ x โ‘ข 11283 ํ•œ๊ธ€ 2 _ Python - ord: ๋ฌธ์ž์˜ ์œ ๋‹ˆ์ฝ”๋“œ ๊ฐ’์„ ๋Œ๋ ค์ฃผ๋Š” ํ•จ์ˆ˜ โ‘ฃ 22193 Multiply _ Python - ์˜์–ด ๋ฌธ์ œ - ์ฒซ์งธ์ค„ ์ž…๋ ฅ์˜ N๊ณผ M์˜ ๊ธธ์ด๋Š” ๋ฌธ์ œ์—์„œ ํ•„์š” ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•˜์—ฌ ๊ทธ๋ƒฅ ์ž…๋ ฅ๋งŒ ๋ฐ›์Œ - 2๋ฒˆ์งธ 3๋ฒˆ์งธ ์ค„์—์„œ ์ž…๋ ฅ๋ฐ›์€ ์ˆซ์ž๋ฅผ ๊ณฑ..

2021 ํ•˜๊ณ„ ๋ชจ๊ฐ์ฝ”_์™€ํŒฌํ˜ธ

2021 ํ•˜๊ณ„ ๋ชจ๊ฐ์ฝ” ๊ฐœ์ธ ๊ณ„ํš ๐Ÿง‡๐Ÿฅž ๋‚ ์งœ ์‹œ๊ฐ„ ๊ณ„ํš ๋ฐฉ๋ฒ• 7์›” 06์ผ 21:00~24:00 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ (programmers, Baekjoon) Google Meet 7์›” 13์ผ 21:00~24:00 React-Native ๊ฐ•์˜ ๋“ฃ๊ธฐ Google Meet 7์›” 20์ผ 21:00~24:00 React-Native coding Google Meet 7์›” 27์ผ 21:00~24:00 React-Native coding Google Meet 8์›” 03์ผ 21:00~24:00 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ (programmers, Baekjoon) Google Meet 8์›” 10์ผ 21:00~24:00 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€๊ธฐ (programmers, Baekjoon) Google Meet

[Python] ์ˆœ์—ด, ์กฐํ•ฉ

๐Ÿ˜‰ ์กฐํ•ฉ from itertools import combinations # ์กฐํ•ฉ(์ˆœ์„œx)nums=[1,2,3,4]arr = list(combinations(nums, 3)) #์ถœ๋ ฅ: [(1, 2, 3), (1, 2, 4), (1, 3, 4), (2, 3, 4)]   ๐Ÿ˜‰ ์ˆœ์—ด from itertools import permutations # ์ˆœ์—ด(์ˆœ์„œ o)nums=[1,2,3,4]arr = list(permutations(nums, 3)) #์ถœ๋ ฅ: [(1, 2, 3), (1, 2, 4), (1, 3, 2), (1, 3, 4), (1, 4, 2), (1, 4, 3), # (2, 1, 3), (2, 1, 4), (2, 3, 1), (2, 3, 4), (2, 4, 1), (2, 4, 3), # ..

[Python] ๋”•์…”๋„ˆ๋ฆฌ

๋”•์…”๋„ˆ๋ฆฌ ์“ธ ๋•Œ๋งˆ๋‹ค ๊นŒ๋จน..๐Ÿ˜ต ์ž์ฃผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋งŒ ์ •๋ฆฌํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋Œฑ  ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ - key: value ํ˜•์‹์œผ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ ์„ ์–ธ dic = {}dic = dict()dic = {"Key":"Value"}   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ ์ถ”๊ฐ€dic['์•„์ด๋””']='๋น„๋ฐ€๋ฒˆํ˜ธ'   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ ์‚ญ์ œdel dic['์•„์ด๋””']   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ Value ๊ฐ€์ ธ์˜ค๊ธฐprint(dic['์•„์ด๋””'])print(dic.get('์•„์ด๋””'))   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ Key ์žˆ๋Š”์ง€ checkif '์•„์ด๋””' in dic : print("yes")   ๐Ÿ™ƒ๋”•์…”๋„ˆ๋ฆฌ value๋ฅผ ์ด์šฉํ•˜์—ฌ key ์ฐพ๊ธฐfor key,value in arr.items(): if value=='value ๊ฐ’': print(key)  ?..

04. ํ”„๋กœ๊ทธ๋žจ ํ๋ฆ„์˜ ์ œ์–ด

๐Ÿ˜ถ if๋ฌธ๊ณผ if~else๋ฌธ if (์กฐ๊ฑด์‹) { ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ์ฐธ์ธ ๊ฒฝ์šฐ์—๋งŒ ์ˆ˜ํ–‰} else { ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ //์กฐ๊ฑด์‹์ด ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ์— ์ˆ˜ํ–‰}- ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ์ด ํ•œ ์ค„์ด๋ฉด ์ค‘๊ด„ํ˜ธ๋ฅผ ์ƒ๋žต ๊ฐ€๋Šฅ- ๋ฒ”์œ„(range) ์—ฐ์‚ฐ์ž: ๋ณ€์ˆ˜๋ช… in ์‹œ์ž‘ ๊ฐ’.. ๋งˆ์ง€๋ง‰ ๊ฐ’* ์ฝ”ํ‹€๋ฆฐ io์˜ ํ‘œ์ค€ ํ•จ์ˆ˜์˜ readline()์€ ์ฝ˜์†”๋กœ๋ถ€ํ„ฐ ํ•œ ์ค„ ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ž„   ๐Ÿ˜ถ when๋ฌธ - ๋‹ค๋ฅธ ์–ธ์–ด์—์„œ ํ”ํžˆ ์‚ฌ์šฉ๋˜๋˜ switch~case๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์ฝ”ํ‹€๋ฆฐ์—์„œ๋งŒ ์ œ๊ณต๋˜๋Š” ๋ฌธ๋ฒ•when (์ธ์ž) { ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๊ฐ’ ํ˜น์€ ํ‘œํ˜„์‹ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ ์ธ์ž์— ์ผ์น˜ํ•˜๋Š” ๋ฒ”์œ„ -> ์ˆ˜ํ–‰ํ•  ๋ฌธ์žฅ ... else -> ๋ฌธ์žฅ} - when์— ์ธ์ž๊ฐ€ ์ฃผ์–ด์ง€์ง€ ์•Š์œผ๋ฉด else if์ฒ˜๋Ÿผ ๊ฐ๊ฐ์˜ ์กฐ๊ฑด ์‹คํ–‰ ๊ฐ€๋Šฅ- ํŠน์ • ์ธ์ž์— ์ œํ•œํ•˜..

[programmers] ํƒ€๊ฒŸ ๋„˜๋ฒ„

์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊นŠ์ด/๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰(DFS/BFS) ๋ฌธ์ œ ์„ค๋ช… n๊ฐœ์˜ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ˆ˜๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ฑฐ๋‚˜ ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด [1, 1, 1, 1, 1]๋กœ ์ˆซ์ž 3์„ ๋งŒ๋“ค๋ ค๋ฉด ๋‹ค์Œ ๋‹ค์„ฏ ๋ฐฉ๋ฒ•์„ ์“ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. -1+1+1+1+1 = 3 +1-1+1+1+1 = 3 +1+1-1+1+1 = 3 +1+1+1-1+1 = 3 +1+1+1+1-1 = 3 ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ˆซ์ž๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด numbers, ํƒ€๊ฒŸ ๋„˜๋ฒ„ target์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ์ˆซ์ž๋ฅผ ์ ์ ˆํžˆ ๋”ํ•˜๊ณ  ๋นผ์„œ ํƒ€๊ฒŸ ๋„˜๋ฒ„๋ฅผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ - ์ฃผ์–ด์ง€๋Š” ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋Š” 2๊ฐœ ์ด์ƒ 20๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค. - ๊ฐ ์ˆซ์ž๋Š” 1 ์ด์ƒ 50 ์ดํ•˜์ธ..

03. ํ•จ์ˆ˜

๐Ÿค”ํ•จ์ˆ˜fun ํ•จ์ˆ˜์ด๋ฆ„ ([๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]}  - ๊ฐ€๋ณ€ ์ธ์ž: ์ธ์ž์˜ ๊ฐœ์ˆ˜๊ฐ€ ๋ณ€ํ•œ๋‹ค fun ํ•จ์ˆ˜์ด๋ฆ„ (vararg [๋ณ€์ˆ˜ ์ด๋ฆ„: ์ž๋ฃŒํ˜•]): [๋ฐ˜ํ™˜๊ฐ’์˜ ์ž๋ฃŒํ˜•] { ํ‘œํ˜„์‹ [return ๋ฐ˜ํ™˜๊ฐ’]} ๐Ÿค”์ฝ”ํ‹€๋ฆฐ == ๋‹ค์ค‘ ํŒจ๋Ÿฌ๋‹ค์ž„ ์–ธ์–ด 1) ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ์ฝ”๋“œ ๊ฐ„๋žต, ํ…Œ์ŠคํŠธ๋‚˜ ์žฌ์‚ฌ์šฉ์„ฑ ์ฆ๊ฐ€, ๋žŒ๋‹ค์‹, ๊ณ ์ฐจ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด ๊ตฌ์„ฑ, ์ˆœ์ˆ˜ ํ•จ์ˆ˜2) ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ  ๐Ÿค”์ˆœ์ˆ˜ ํ•จ์ˆ˜ ๋ถ€์ž‘์šฉ(side-effect)์ด ์—†๋Š” ํ•จ์ˆ˜ -> ๋™์ผํ•œ ์ž…๋ ฅ ์ธ์ž์— ๋Œ€ํ•ด์„œ๋Š” ํ•ญ์ƒ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅ, ๋ฐ˜ํ™˜ํ•จ-> ๊ฐ’์ด ์˜ˆ์ธก ๊ฐ€๋Šฅํ•˜์—ฌ ๊ฒฐ์ •์  ์กฐ๊ฑด -> ๊ฐ™์€ ์ธ์ž์— ๋Œ€ํ•˜์—ฌ ํ•ญ์ƒ ๊ฐ™์€ ๊ฐ’์„ ๋ฐ˜ํ™˜-> ํ•จ์ˆ˜ ์™ธ๋ถ€์˜ ์–ด๋–ค ์ƒํƒœ๋„ ๋ฐ”๊พธ์ง€ ์•Š์Œ  ์žฅ์ -> ์ž…๋ ฅ, ๋‚ด์šฉ์„..

[์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ] ํ•„๊ธฐ

" 2021๋…„ ์ •๊ธฐ ๊ธฐ์‚ฌ 1ํšŒ (ํ•„๊ธฐ) - ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ " ์‹œํ—˜์„ ์ณค์Šต๋‹ˆ๋‹น! ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ํ•„๊ธฐ๋Š” ์•„๋ž˜ ํ‘œ์™€ ๊ฐ™์ด 5๊ณผ๋ชฉ์œผ๋กœ ํ•œ ๊ณผ๋ชฉ๋‹น 20๋ฌธ์ œ, ์ด 100๋ฌธ์ œ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ํ‰๊ท  60์  ์ด์ƒ์ด๋ฉด ํ•ฉ๊ฒฉ๐Ÿ˜Š! ๋‹จ, 40์  ์•„๋ž˜์ธ ๊ณผ๋ชฉ์ด ์žˆ์„ ์‹œ ๊ณผ๋ฝ๐Ÿ˜ฑ! 2์‹œ๊ฐ„ 30๋ถ„ ๋™์•ˆ โœ ๊ณผ๋ชฉ ์†Œํ”„ํŠธ์›จ์–ด์„ค๊ณ„ ์†Œํ”„ํŠธ์›จ์–ด๊ฐœ๋ฐœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ตฌ์ถ• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์–ธ์–ดํ™œ์šฉ ์ •๋ณด์‹œ์Šคํ…œ๊ตฌ์ถ•๊ด€๋ฆฌ 2021๋…„ ์ •๊ธฐ ๊ธฐ์‚ฌ 1ํšŒ ํ•„๊ธฐ ์ ‘์ˆ˜ ๋‚  ๋‹น์ผ์ด ๋˜์–ด์„œ์•ผ ์‹œํ—˜ ์ณ๋ณผ๊นŒ ํ•˜๊ณ  ๋ฐ”๋กœ ์ ‘์ˆ˜๐Ÿ™„ ์‚ฌ์‹ค ๋Šฆ๊ฒŒ ์ ‘์ˆ˜๋ฅผ ํ•ด์„œ ์ž๋ฆฌ๊ฐ€ ์—†์„๊นŒ ๋ด ๊ฑฑ์ •ํ–ˆ๋Š”๋ฐ ๋‹คํ–‰ํžˆ ์ œ๊ฐ€ ์น˜๋Š” ์ง€์—ญ์€ ์ž๋ฆฌ๊ฐ€ ๋‚จ์•˜๋”๋ผ๊ตฌ์š”โ•ฐ(*°โ–ฝ°*)โ•ฏ ์ƒ๊ฐ๋ณด๋‹ค ๋‘๊บผ์šด ์ฑ…์— ๋†€๋ž€ ํ›„ ๊ธ‰ํ•˜๊ฒŒ ์ด๋ก  ์ฝ๊ณ , ๋ฌธ์ œ ํ‘ธ๋Š๋ผ ๋ถ€๋žด๋ถ€๋žด ๐Ÿ‘€ ํ•„๊ธฐ์‹œํ—˜ ๋‹น์ผ๋‚  ์ˆ˜ํ—˜ํ‘œ, ์‹ ๋ถ„์ฆ, ์ปดํ“จํ„ฐ์šฉ ์‚ฌ์ธํŽœ๋งŒ ๋“ค๊ณ  ์‹œํ—˜์žฅ์œผ๋กœ..

*์ฐธ๊ณ * Kotlin findViewById() or Extensions

์•ˆ๋“œ๋กœ์ด๋“œ ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด Kotlin์„ ๊ณต๋ถ€ํ•˜๋˜ ์ค‘ findViewById()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. 1) Kotlin_findViewById() ์‚ฌ์šฉ   - ์ž๋ฐ”๋กœ ๊ฐœ๋ฐœํ•  ๋•Œ์™€ ์กฐ๊ธˆ ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค. var ca: Button =findViewById(R.id.button) #๋ฒ„ํŠผ ๊ฐ€์ ธ์˜ค๊ธฐca.setOnClickListener { #๋ฒ„ํŠผ ํด๋ฆญ ์ด๋ฒคํŠธ ca.setText("์•ผํ˜ธ")} 2) Extensions   - ์ด ๋ฐฉ๋ฒ•์€ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ์ค‘๋‹จ๋  ์ˆ˜๋„ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ํ•˜์ง€๋งŒ ์ค‘๋‹จ๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๊ฐœ๋ฐœํ•˜๋Š”๋ฐ ํŽธํ•  ์ˆ˜๋„ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ์ƒ๊ฐ์— ์ผ๋‹จ ์ฃผ์„ฌ   - Gradle Scripts์•ˆ์— ์žˆ๋Š” build.gradle(:app) ํŒŒ์ผ์„ open   - ์œ„์˜ ํŒŒ์ผ์— ..