์ „์ฒด ๊ธ€

๊น€ํ˜œ์ธ์€ ๋ฌด์—‡์„ ๊ณต๋ถ€ํ• ๊นŒ
๐Ÿคฏ ์ƒํ™ฉMainActivity๊ฐ€ ์ด๋ฏธ ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š”๋ฐ๋„ activity_main.xml๊ณผ AndroidMainfest.xml์— MainActivity๋ฅผ ๋“ฑ๋กํ•˜๋ผ๋Š” ์—๋Ÿฌ๊ฐ€ ๋–ด๋‹ค. ๐Ÿง ์ด์œ gradleํŒŒ์ผ์— ๋“ฑ๋ก๋˜์–ด์žˆ๋Š” ํŒจํ‚ค์ง€ ๋ช…๊ณผ MainActivity ํŒŒ์ผ์˜ ์ฝ”๋“œ์— ์ ํ˜€์ ธ ์žˆ๋Š” ํŒจํ‚ค์ง€ ๋ช…์ด ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๐Ÿ˜„ ํ•ด๊ฒฐbuild.gradle.kts(:app)์˜ applicationId์™€ MainActivity์˜ ์œ—์ค„์— ์žˆ๋Š” ํŒจํ‚ค์ง€ ๋ช…๊ณผ ์ผ์น˜์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค.
๐Ÿคฏ ์ƒํ™ฉ์•ˆ๋“œ๋กœ์ด๋“œ ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›์•„ ์‹คํ–‰ํ•˜๋ คํ•˜๋‹ˆ SDK ํŒŒ์ผ์„ ์ฐพ์„ ์ˆ˜ ์—†๋‹ค๋Š” ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค. ๐Ÿง ์ด์œ ๋‚ด ํ”„๋กœ์ ํŠธ์˜ local.propertiesํŒŒ์ผ์— ์žˆ๋Š” SDK ๊ฒฝ๋กœ์™€ ๋‚ด ์ปดํ“จํ„ฐ์— ์žˆ๋Š” SDK๊ฒฝ๋กœ๊ฐ€ ์ผ์น˜ ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋‹ค.๋ณดํ†ต ์œˆ๋„์šฐ โžก๏ธ ๋งฅ ๋˜๋Š” ๋งฅ โžก๏ธ ์œˆ๋„์šฐ ๋กœ ํ”„๋กœ์ ํŠธ๋ฅผ ์˜ฎ๊ธธ๋•Œ ์ž์ฃผ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋‹ค. ๐Ÿ˜„ ํ•ด๊ฒฐ๋‚ด ํ”„๋กœ์ ํŠธ์˜ local.properties ํŒŒ์ผ์— ๋“ค์–ด๊ฐ€์„œ ์„ค์ •๋˜์–ด ์žˆ๋Š” SDK ๊ฒฝ๋กœ๋ฅผ ๋‚ด ์ปดํ“จํ„ฐ์— ์žˆ๋Š” SDK ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.๋ณดํ†ต ๋งฅ์˜ ๊ฒฝ์šฐ ์•„๋ž˜์˜ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค./Users/์‚ฌ์šฉ์ž๋ช…/Library/Android/sdk์œˆ๋„์šฐ์˜ ๊ฒฝ์šฐ ์•„๋ž˜์˜ ๊ฒฝ๋กœ๋กœ ์ˆ˜์ •ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค.C:\Users\์‚ฌ์šฉ์ž๋ช…\AppData\Local\Android\Sdk
๋ฌธ์ œํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค N-Queenhttps://school.programmers.co.kr/learn/courses/30/lessons/12952' ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr ์ฝ”๋“œdef solution(n): global answer v1 = [0 for _ in range(n)] # ์—ด v2 = [0 for _ in range(n * 2)] # ๋Œ€๊ฐ์„  ์ƒ๋ฐฉ v3 = [0 for _ in range(n * 2)] # ๋Œ€๊ฐ์„  ํ•˜๋ฐฉ answer = 0 def dfs(row): global answ..
๋ฌธ์ œํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์†Œ์ˆ˜์ฐพ๊ธฐhttps://school.programmers.co.kr/learn/courses/30/lessons/42839 ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.programmers.co.kr  ์ฝ”๋“œimport itertoolsdef sosu(num): if num == 0 or num == 1: return False for i in range(2, int(num ** 0.5) + 1): if num % i == 0: return False return Truedef solution(n): answe..
๋ฌธ์ œ๋ฐฑ์ค€  ๋‰ด์Šค ์ „ํ•˜๊ธฐ https://www.acmicpc.net/problem/1135 ์ฝ”๋“œn = int(input())parent_list = list(map(int, input().split()))child_list = [list() for _ in range(n)]for child in range(1, n) : parent = parent_list[child] child_list[parent].append(child)def dfs(node) : if not child_list[node] : return 0 result = list() for child in child_list[node] : result.append(dfs(child)) result.sort( reverse =..
๋ฌธ์ œ๋ฐฑ์ค€ 1927 ์ตœ์†Œ ํž™ https://www.acmicpc.net/problem/1927๋ฐฑ์ค€ 11279 ์ตœ๋Œ€ ํž™ https://www.acmicpc.net/problem/11279 ์ตœ์†Œ ํž™ ์ฒ˜์Œ ์ฝ”๋“œ (์‹œ๊ฐ„์ดˆ๊ณผ)๋ฐฐ์—ด์—์„œ min()์„ ์ด์šฉํ•˜์—ฌ ์ตœ์†Œ๊ฐ’์„ ์ฐพ์•˜๋‹ค.n = int(input())x = []for _ in range(n):    num = int(input())    if num == 0:        if x:            print(min(x))            x.remove(min(x))        else:            print(0)    else:        x.append(num) ์ตœ์†Œ ํž™ ์ฝ”๋“œimport sysimport heapqn = int(input()..
๋ฆฌ์ŠคํŠธ๋ทฐ(ListView)๋ž€?๋ฆฌ์ŠคํŠธ ํ˜•ํƒœ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ์œ„์ ฏ์ด๋‹ค.์ฝ”ํ‹€๋ฆฐ ํŒŒ์ผ์—์„œ ๋ฆฌ์ŠคํŠธ ์•ˆ์— ๋‹ด๊ฒจ์žˆ๋Š” ๊ฐ๊ฐ์˜ ๋ฐ์ดํ„ฐ๋ฅผ Adapter๋ฅผ ํ†ตํ•ด xmlํŒŒ์ผ์— ListView์˜ ๊ฐ๊ฐ์˜ ์•„์ดํ…œ์— ๋„ฃ์–ด์ค€๋‹ค.Adapter๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ๋“ค๊ณผ ListView์˜ ์•„์ดํ…œ์„ ์—ฐ๊ฒฐ์‹œ์ผœ์ฃผ๋Š” ๊ฐ์ฒด๋‹ค. LilstView์—์„œ ์•„์ดํ…œ์€ ListView์˜ ํ•ญ๋ชฉ์„ ๋งํ•œ๋‹ค.  ์–ด๋Œ‘ํ„ฐ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ์™€ ListView๋ฅผ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• (๊ฐ„๋‹จ์š”์•ฝ)MainActivity์— ์žˆ๋Š” ๋ฆฌ์ŠคํŠธ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ์–ด๋Œ‘ํ„ฐ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค. ์˜ˆ์‹œ๋กœ a, b, c๋ผ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๋‚ธ๋‹ค๊ณ  ํ•˜์ž.์–ด๋Œ‘ํ„ฐ๊ฐ€ listview_item.xml์— ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๋„ฃ๋Š”๋‹ค.listview_item.xml์€ activity_main.xml์— ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ค€๋‹ค. ๋‹ค์Œ์˜ ๋ฐฉ๋ฒ•์€ ๋ฐ..
fun onBackPressed(){}๋’ค๋กœ๊ฐ€๊ธฐ ๋™์ž‘์„ ๊ฐ์ง€ํ•˜๋Š” ํ•จ์ˆ˜๋‹ค.๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ค‘๊ด„ํ˜ธ์•ˆ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ๋’ค๋กœ๊ฐ€๊ธฐ๋ฅผ ๋‘๋ฒˆ ์—ฐ์† ๋ˆŒ๋ €์„๋•Œ ์ข…๋ฃŒํ•˜๋Š” ๋ฐฉ๋ฒ•MainActivity ํด๋ž˜์Šค์— isDouble ์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ค๊ณ  false๋กœ ์„ค์ •ํ•œ๋‹ค.๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ํ•œ ๋ฒˆ ๋ˆŒ๋ €์„๋•Œ isDouble ๋ณ€์ˆ˜๊ฐ€ true๋กœ ๋ฐ”๋€Œ๋„๋ก ํ•œ๋‹ค."์ข…๋ฃŒ ํ•˜์‹œ๋ ค๋ฉด ๋”๋ธ”ํด๋ฆญ ํ•˜์„ธ์š”" ๋ผ๋Š” ํ† ์ŠคํŠธ ๋ฉ”์„ธ์ง€๋„ ๊ฐ™์ด ๋„์šฐ๋„๋ก ํ•œ๋‹ค.Handler() ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•˜์—ฌ 2์ดˆ๊ฐ€ ์ง€๋‚˜๋ฉด isDouble ๋ณ€์ˆ˜๊ฐ€ flase๊ฐ€ ๋˜๋„๋ก ํ•œ๋‹ค.2์ดˆ์•ˆ์— ๋’ค๋กœ๊ฐ€๊ธฐ ๋ฒ„ํŠผ์„ ํ•œ ๋ฒˆ ๋” ๋ˆŒ๋Ÿฌ์„œ isDouble์ด true ์ƒํƒœ๋ผ๋ฉด ์•ฑ์„ ์ข…๋ฃŒํ•˜๋„๋ก onBackPressed ํ•จ์ˆ˜์˜ ๋งจ ์•ž์— ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ฝ”๋“œ๋ฅผ ์ ๋Š”๋‹ค.if(isDouble){ ..
๋กœ๊ทธ๋ž€?๋‚ด๊ฐ€ ์ง€์ •ํ•œ ๊ฐ’์ด ์ฝ”๋“œ์— ์ œ๋Œ€๋กœ ๋„ฃ์–ด์ง€๊ณ  ์žˆ๋Š”์ง€ ๋””๋ฒ„๊น… ํ• ๋•Œ ์ฃผ๋กœ ์“ฐ๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.์•ฑ์ด ์‹คํ–‰๋˜๋Š” ๋„์ค‘์— ํŠน์ • ์‹œ์ ์„ ๊ธฐ๋ก์œผ๋กœ ๋‚จ๊ธด๋‹ค. ๋กœ๊ทธ์˜ ์ข…๋ฅ˜ (5๊ฐ€์ง€)๋””๋ฒ„๊ทธ (Debug)Log.d("(ํƒœ๊ทธ)", "(๋ฉ”์„ธ์ง€)")์˜ค๋ฅ˜ (Error)Log.e("(ํƒœ๊ทธ)", "(๋ฉ”์„ธ์ง€)")๊ฒฝ๊ณ  (Warning)Log.w("(ํƒœ๊ทธ)", "(๋ฉ”์„ธ์ง€)")์ •๋ณด (Information)Log.i("(ํƒœ๊ทธ)", "(๋ฉ”์„ธ์ง€)")์ƒ์„ธ (Verbose)Log.v("(ํƒœ๊ทธ)", "(๋ฉ”์„ธ์ง€)") ๋กœ๊ทธ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค ํ•˜๋‹จ์— Logcat์— ๋“ค์–ด๊ฐ„๋‹ค. Logcat์€ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋Š”๊ณณ์ด๋‹ค.์•ฑ์„ ์‹คํ–‰ํ•˜๋ฉด ์‹œ์Šคํ…œ ์ž์ฒด์—์„œ ์ฐํžˆ๋Š” ๋‹ค์–‘ํ•œ ๋กœ๊ทธ๋“ค์ด ์Ÿ์•„์ ธ ๋‚˜์˜จ๋‹ค.๋กœ๊ทธ ์ฝ”๋“œ๋ฅผ ์ผ๋‹ค๋ฉด ๋งŽ์€ ๋กœ๊ทธ๋“ค ์ค‘์— ๋‚ด๊ฐ€ ์ž‘์„ฑํ–ˆ๋˜ ํ•ด๋‹น ๋กœ๊ทธ๋“ค..
1. ์›ํ•˜๋Š” ๊ธ€์”จ์ฒด ttf ํŒŒ์ผ์„ ๋‹ค์šด๋ฐ›๋Š”๋‹ค. ์ด ๊ธ€์˜ ์˜ˆ์ œ์—์„œ๋Š” ๋ฐฐ๋‹ฌ์˜ ๋ฏผ์กฑ ์ฃผ์•„์ฒด๋ฅผ ๋‹ค์šด ๋ฐ›์•˜๋‹ค.http://font.woowahan.com/jua/ ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ ํฐํŠธ ์ฃผ์•„์ฒด ๋‹ค์šด๋กœ๋“œ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ ์ฃผ์•„์ฒด ๋‹ค์šด๋กœ๋“œ ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ ์ฃผ์•„์ฒด๋Š” ๋ถ“์œผ๋กœ ์ง์ ‘ ๊ทธ๋ ค์„œ ๋งŒ๋“  ์†๊ธ€์”จ ๊ฐ„ํŒ์„ ๋ชจํ‹ฐ๋ธŒ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋ถ“์œผ๋กœ ๊ทธ๋ ค ํš์˜ ๊ตต๊ธฐ๊ฐ€ ์ผ์ •ํ•˜์ง€ ์•Š๊ณ  ๋™๊ธ€๋™๊ธ€ํ•œ ๋Š๋‚Œ์„ ์ฃผ๋Š” ์„œ์ฒด๋กœ ์˜›font.woowahan.com 2. ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ ํฐํŠธ ํŒŒ์ผ ์ œ๋ชฉ์ด ๋Œ€๋ฌธ์ž๋ฉด ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค์—์„œ ์ธ์‹์„ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํŒŒ์ผ ์ด๋ฆ„์„ ์†Œ๋ฌธ์ž๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. 3. resํŒŒ์ผ์— font๋ผ๋Š” ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ๋‹ค. 4. ๋‹ค์šด๋ฐ›์€ ํฐํŠธ ํŒŒ์ผ์„ font ๋””๋ ‰ํ† ๋ฆฌ์— ๋„ฃ๋Š”๋‹ค. 5. xmlํŒŒ์ผ์—์„œ fontFamily ์†์„ฑ์œผ๋กœ ๋‹ค์šด๋ฐ›์€ ํฐํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜..
findViewById & ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์—ฌํƒœ๊นŒ์ง€ findViewById ๋กœ xml ํŒŒ์ผ์— ์žˆ๋Š” ์š”์†Œ๋“ค์„ ์ฝ”ํ‹€๋ฆฐ ํŒŒ์ผ์— ๊ฐ€์ ธ์™€ ํ•ด๋‹น ์š”์†Œ๋ฅผ ์ œ์–ดํ•ด ์™”์—ˆ์ง€๋งŒ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ์„ ์ด์šฉํ•˜์—ฌ xml ํŒŒ์ผ์˜ ์š”์†Œ๋“ค์„ ๊ฐ€์ ธ์˜จ๋‹ค๋ฉด ์ฝ”ํ‹€๋ฆฐ ํŒŒ์ผ์—์„œ ๋” ์ง๊ด€์ ์ด๊ณ  ๊ฐ€๋…์„ฑ ์ข‹๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งœ๋ฉฐ ์ œ์•„ํ•  ์ˆ˜ ์žˆ๋‹ค.๋ช‡๋ช‡๊ฐœ์˜ ์š”์†Œ๋“ค์„ ๊ฐ€์ ธ์˜ฌ๋•Œ findViewById๋กœ ๊ฐ€์ ธ์™€๋„ ์ƒ๊ด€ ์—†์–ด ๋ณด์ด์ง€๋งŒ, ์š”์†Œ๋“ค์ด ๋Š˜์–ด๋‚ ์ˆ˜๋ก ๊ด€๋ฆฌํ•˜๊ธฐ ๊นŒ๋‹ค๋กญ๊ณ  ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ๋„ ๋งŽ์ด ๋–จ์–ด์งˆ๊ฒƒ์ด๋‹ค.findViewById๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ๊ธฐ์ˆ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๋ฐ์ดํ„ฐ ๋ฐ”์ธ๋”ฉ ์‚ฌ์šฉ ๋ฐฉ๋ฒ•1. build.gradle(Module: ...) ํŒŒ์ผ๋กœ ์ด๋™ํ•œ๋‹ค. 2. android{}์˜ ๋งจ ๋งˆ์ง€๋ง‰์— dataBinding{enabled = true}๋ฅผ ์ ๊ณ  ์ƒ๋‹จ์˜ Sync Now๋ฅผ ๋ˆŒ..
๋ฌธ์ œ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..
๋•ก๋•ก๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป
๐Ÿ€Greeny Dev๐Ÿ€