[๋ฐฑ์ค€] 1254 ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ + ํŒฐ๋ฆฐ๋“œ๋กฌ ํ™•์ธ๋ฒ• (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1254์•ž์— ํ’€์—ˆ๋˜ ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ๋ณด๋‹ค ๋” ์‰ฌ์šด ๋ฌธ์ œ. ์•„๋งˆ ํŒŒ์ด์ฌ์ด๋ผ ๊ทธ๋Ÿฐ ๊ฑฐ ๊ฐ™๋‹ค์•„์ด๋””์–ด- ์ด ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์„ ๊ฑด๋“ค์ง€ ์•Š๊ณ , ๋ฌธ์ž์—ด ๋’ค์— ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ์ถ”๊ฐ€ํ•ด์„œ ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋’ท ๋ฌธ์ž์—ด์„ ๋งŒ๋“ค๊ธฐ ํŽธํ•˜๋„๋ก ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ํ•˜๋‚˜ ์ƒ์„ฑํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œtext = list(input())N = len(text)back = []def is_pal(x): for i in range(len(x)): if x[i] != x[len(x) - 1 - i]: return False return Truefor i in range(N): if is_pal(text + back): ..
[๋ฐฑ์ค€] 1213 ํŒฐ๋ฆฐ๋“œ๋กฌ ๋งŒ๋“ค๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1213 ํŒฐ๋ฆฐ๋“œ๋กฌ ํŠน์ง•์— ๋Œ€ํ•œ ๋ฌธ์ œ. ๋‚œ์ด๋„์— ๋งž๋Š” ๋ฌธ์ œ ๊ฐ™๋‹ค.์•„์ด๋””์–ด- ์•ŒํŒŒ๋ฒณ string์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ํŒฐ๋ฆฐ๋“œ๋กฌ์˜ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋ฅผ ๋จผ์ € ํ™•์ธํ•œ๋‹ค.๋งŒ์•ฝ ๋ฌธ์ž์—ด์—์„œ ์•ŒํŒŒ๋ฒณ์˜ ๊ฐœ์ˆ˜๊ฐ€ ํ™€์ˆ˜์ธ ๊ฒŒ 2๊ฐœ ์ด์ƒ ์กด์žฌํ•œ๋‹ค๋ฉด, ํŒฐ๋ฆฐ๋“œ๋กฌ์œผ๋กœ ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค. - ํŒฐ๋ฆฐ๋“œ๋กฌ์„ ์•ž, ์ค‘๊ฐ„, ๋’ค 3๊ฐ€์ง€ ํŒŒํŠธ๋กœ ๋ถ„๋ฅ˜ํ•˜๊ณ  ํ•ฉ์ณ์„œ ์™„์„ฑ์‹œ์ผœ ์ค€๋‹ค. ์ „์ฒด ์ฝ”๋“œenglish_name = list(input())visited = [0] * 26for e in english_name: visited[ord(e) - 65] += 1count = 0for i in range(26): if visited[i] % 2 == 1: count += 1if count >= 2..
[๋ฐฑ์ค€] 1244 ์Šค์œ„์น˜ ์ผœ๊ณ  ๋„๊ธฐ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/1244์ƒ๊ฐ๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฐ ๋ฌธ์ œ. ํŒฐ๋ฆฐ๋“œ๋กฌ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒŒ ์•ฝํ•œ ๊ฑฐ ๊ฐ™๋‹ค.๊ทธ๋ฆฌ๊ณ  ํŠน์ดํ•˜๊ฒŒ ์ •๋‹ต์„ ์ˆซ์ž 20๊ฐœ์”ฉ ๋Š์–ด์„œ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๋•๋ถ„์— ์‹ค์ˆ˜๋ฅผ ๋งŽ์ด ํ–ˆ๋‹ค.์•„์ด๋””์–ด- ์ผ๋‹จ ๋ฐฐ์—ด์˜ ์‹œ์ž‘์€ 0์ด๊ณ  ์Šค์œ„์น˜ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘์ด๋‹ˆ๊นŒ, ์ธ๋ฑ์Šค๋ฅผ ๋จผ์ € ๋งžํ˜€์ฃผ์ž.๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐ์—ด ๋งจ ์•ž์— -1 ๊ฐ™์€ ๋”๋ฏธ ๊ฐ’์„ ์ถ”๊ฐ€ํ•ด ์คฌ๋‹ค. - ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ํ•˜๋Š” ์ฝ”๋“œ๊ฐ€ ์ค‘๋ณต๋˜์–ด ์‚ฌ์šฉ๋˜๋ฏ€๋กœ, ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ–ˆ๋‹ค. ์ฒ˜์Œ ๋ฌธ์ œ ํ’€ ๋•Œ๋Š” ๊ทธ๋ƒฅ ํ’€๊ธด ํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œimport sysN = int(input())switchs = [-1] + [int(x) for x in sys.stdin.readline().rstrip().split()]students = int(input())def ..
[๋ฐฑ์ค€] 4963 ์„ฌ์˜ ๊ฐœ์ˆ˜ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/4963ํ”ํ•œ ๊ตฌ์—ญ ๊ฐœ์ˆ˜ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ. ๊ทผ๋ฐ ํŠน์ดํ•œ ๊ฑด ๋Œ€๊ฐ์„ ๋„ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๊ฑธ๋กœ ์ƒ๊ฐํ•ด์•ผ ํ•˜๋Š” ๊ฒŒ ํŠน์ดํ•˜๋‹ค. ๊ทธ๊ฒƒ๋งŒ ์ƒ๊ฐํ•˜๋ฉด ๋‚˜๋จธ์ง„ ์‰ฌ์šด ๋ฌธ์ œ.์•„์ด๋””์–ด- ์ผ๋ฐ˜์ ์ธ ์ƒํ•˜์ขŒ์šฐํƒ์ƒ‰์—์„œ ์ถ”๊ฐ€๋กœ ๋Œ€๊ฐ์„  ๋ฐฉํ–ฅ๋„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.์ „์ฒด ์ฝ”๋“œimport syssys.setrecursionlimit(10**6)dx = [0, 0, 1, -1, 1, -1, 1, -1]dy = [1, -1, 0, 0, 1, -1, -1, 1]def dfs(x, y): if x = H or y = W: return False #print(x, y) if island[x][y] == 1: island[x][y] = 0 dfs(x, y + ..
[๋ฐฑ์ค€] 30804 ๊ณผ์ผ ํƒ•ํ›„๋ฃจ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
https://www.acmicpc.net/problem/30804 ์‹ค๋ฒ„2 ๋ผ๋Š” ๊ฒŒ ๋ฏฟ๊ธฐ์ง€ ์•Š๋Š” ๋ฌธ์ œ. ๋‚ด๊ฐ€ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ๊ฐœ๋…์„ ๋ชฐ๋ž๋‹ค๋ฉด ๋ชป ํ’€์—ˆ์„ ๊ฑฐ ๊ฐ™๋‹ค.์ด๊ฑด ์™œ ์‹ค๋ฒ„์— ์žˆ์„๊นŒ ์•„์ด๋””์–ด- ๋ฌธ์ œ์—์„œ ์ œ์‹œํ•˜๋Š” ๊ณผ์ผ ๋‘๊ฐœ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ํˆฌ ํฌ์ธํŠธ ๊ฐœ๋…์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์ƒ๊ฐ๋ณด๋‹ค ์ž‘์€ N์˜ ํฌ๊ธฐ(200000), ๋„๋„ํ•œ ์‹œ๊ฐ„์ œํ•œ(2์ดˆ), ๊ทธ๋ฆฌ๊ณ  ์ ์€ ๊ณผ์ผ ๊ฐœ์ˆ˜(์ตœ๋Œ€ 9๊ฐœ)๋ฅผ ๋ณด๊ณ  ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ณ„์‚ฐํ•ด๋„ ๊ดœ์ฐฎ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ๊ทธ๋ž˜์„œ ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ๋ฅผ ์ƒ๊ฐํ•˜๋ฉฐ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋ฉด์„œ ๊ฐ€์žฅ ๊ธธ์ด๊ฐ€ ๊ธด ๊ฒฝ์šฐ๋ฅผ ์ฐพ์•˜๋‹ค. -  ๊ณผ์ผ ์ข…๋ฅ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•  ๋•Œ ํŽธํ•˜๋ ค๊ณ  ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค.์ „์ฒด ์ฝ”๋“œN = int(input())tangList = list(map(int, input().split()..
[๋ฐฑ์ค€] 2563 ์ƒ‰์ข…์ด (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
2563๋ฒˆ: ์ƒ‰์ข…์ด ์ฒซ์งธ ์ค„์— ์ƒ‰์ข…์ด์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด์–ด ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ƒ‰์ข…์ด๋ฅผ ๋ถ™์ธ ์œ„์น˜๋Š” ๋‘ ๊ฐœ์˜ ์ž์—ฐ์ˆ˜๋กœ ์ฃผ์–ด์ง€๋Š”๋ฐ ์ฒซ ๋ฒˆ์งธ ์ž์—ฐ์ˆ˜๋Š” ์ƒ‰์ข…์ด์˜ ์™ผ์ชฝ ๋ณ€ www.acmicpc.net 2์ฐจ์› ๋ฆฌ์ŠคํŠธ๋ฅผ ํ™œ์šฉํ•œ ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ. ์•„์ด๋””์–ด ์–ธ๋œป ๋ณด๊ธฐ์— ๊ท€์ฐฎ์€ ๋ฌธ์ œ๋ผ๊ณ  ๋Š๊ปด์งˆ ์ˆ˜ ์žˆ๋‹ค. ๊ทผ๋ฐ ๋ฌธ์ œ์—์„œ ์ œ๊ณต๋œ ๋ฒ”์œ„๊ฐ€ 100 100์ด๋ผ๋Š” ๋งค์šฐ ์ž‘์€ ๋ฒ”์œ„์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๋Š” ๋ชจ๋“  ์ขŒํ‘œ๋ฅผ 2์ฐจ์œˆ ๋ฆฌ์ŠคํŠธ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ ๊ฐ€๋Šฅํ•˜๋‹ค. ๋จผ์ € 100 * 100 ์˜ ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ์—์„œ ๊ฐ’์„ ์ „๋ถ€ False๋กœ ์„ ์–ธํ•ด ์ค€๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ์ƒ‰์ข…์ด๊ฐ€ ์žˆ๋Š” ์˜์—ญ์˜ ์ขŒํ‘œ๋“ค์„ True๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ True์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด์„œ ์ถœ๋ ฅํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ์ „์ฒด ์ฝ”๋“œ N = int(input()) paper..
[๋ฐฑ์ค€] 7579 ์•ฑ (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
7579๋ฒˆ: ์•ฑ ์ž…๋ ฅ์€ 3์ค„๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ์ฒซ ์ค„์—๋Š” ์ •์ˆ˜ N๊ณผ M์ด ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง€๋ฉฐ, ๋‘˜์งธ ์ค„๊ณผ ์…‹์งธ ์ค„์—๋Š” ๊ฐ๊ฐ N๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๊ตฌ๋ถ„๋˜์–ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์˜ N๊ฐœ์˜ ์ •์ˆ˜๋Š” ํ˜„์žฌ ํ™œ www.acmicpc.net ๋ƒ…์ƒ‰ ์‘์šฉ๋ฌธ์ œ. ์•„์ด๋””์–ด ๋ƒ…์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ์ด์šฉํ•ด ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด์ฐจ์› ๋ฆฌ์ŠคํŠธ backpack[x][y]๋Š” x๋ฒˆ์งธ ์•ฑ๊นŒ์ง€ y๋น„์šฉ์œผ๋กœ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ’์ด๋‹ค. 1. ์—ด์˜ ํฌ๊ธฐ๋Š” ์ œ์‹œ๋œ ๋ชจ๋“  ๋น„์šฉ์˜ ์ดํ•ฉ์œผ๋กœ ํ•œ๋‹ค. 2 - 1. ํ˜„์žฌ ์•ฑ์˜ ๋น„์šฉ costList [i]๊ฐ€ j๋ณด๋‹ค ํฌ๋ฉด ๊ทธ๋Œ€๋กœ ๋‘”๋‹ค. backpack[i][j] = backpack[i - 1][j] 2 - 2. j ๊ฐ€ ๋” ํฌ๋ฉด ํ˜„์žฌ ์•ฑ์˜ ์œ ๋ฌด๋ฅผ ๋น„๊ตํ•ด ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด์ค€๋‹ค. backpack[i..
[๋ฐฑ์ค€] 4179 ๋ถˆ! (python ํŒŒ์ด์ฌ)
ยท
๐Ÿงฉ Problem Solving/[๋ฐฑ์ค€]
4179๋ฒˆ: ๋ถˆ!์ž…๋ ฅ์˜ ์ฒซ์งธ ์ค„์—๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋œ ๋‘ ์ •์ˆ˜ R๊ณผ C๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋‹จ, 1 ≤ R, C ≤ 1000 ์ด๋‹ค. R์€ ๋ฏธ๋กœ ํ–‰์˜ ๊ฐœ์ˆ˜, C๋Š” ์—ด์˜ ๊ฐœ์ˆ˜์ด๋‹ค. ๋‹ค์Œ ์ž…๋ ฅ์œผ๋กœ R์ค„๋™์•ˆ ๊ฐ๊ฐ์˜ ๋ฏธ๋กœ ํ–‰์ด ์ฃผ์–ด์ง„๋‹ค. ๊ฐ๊ฐ์˜ ๋ฌธ์žwww.acmicpc.net ๋ฐ˜๋‚˜์ ˆ ์‚ฝ์งˆํ•œ BFS๋ฌธ์ œ. ๋ฌธ์ œ๊ฐ€ ์–ด๋ ต๊ฒŒ ๋Š๊ปด์ง€์ง„ ์•Š์•˜๋Š”๋ฐ ์‹œ๊ฐ„์ดˆ๊ณผ, ๋ฉ”๋ชจ๋ฆฌ์ดˆ๊ณผ ๋“ฑ๋“ฑ ์˜ค๋‹ตํŒŒํ‹ฐ๊ฐ€ ๋๋‹ค.์•„์ด๋””์–ด- ๋ฌธ์ œ์—์„œ ํƒˆ์ถœ ์กฐ๊ฑด์ด ๊ฐ€์žฅ์ž๋ฆฌ์— ์ ‘ํ•œ ๊ณต๊ฐ„์—์„œ ํƒˆ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ์ด ๋ง์€ ์ง€ํ›ˆ์ด๊ฐ€ ๊ฐ€์žฅ์ž๋ฆฌ์— ๋„์ฐฉ๋งŒ ํ•˜๋ฉด ์ž๋™์œผ๋กœ ํƒˆ์ถœ ๊ฐ€๋Šฅํ•˜๋‹ค. - ์ˆœ์„œ๋Š” ์ง€ํ›ˆ์ด๊ฐ€ ํ•œ๋ฒˆ ์ด๋™ํ•˜๊ณ  ๋‚˜์„œ ๋ถˆ์ด ํ™•์‚ฐ๋˜๊ณ  1์ดˆ๊ฐ€ ์ง€๋‚œ๋‹ค. - ๋งŒ์•ฝ ์ง€ํ›ˆ์ด๊ฐ€ ์ด๋™ํ•œ ํ›„ ์œ„์น˜์— ๋ถˆ์ด ๋ฒˆ์ง„๋‹ค๋ฉด ๊ทธ๊ณณ์€ ๋ชป ๊ฐ€๋Š” ์œ„์น˜์ด๋‹ค. - ์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋ฉด ์ง€ํ›ˆ๊ณผ ๋ถˆ ๊ฐ๊ฐ์˜ ํ๋ฅผ ๋งŒ๋“ค์–ด์„œ..