๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Python54

[Python Algorithm] ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ์ˆ˜์—ด BOJ #11053 ๋ฌธ์ œ https://www.acmicpc.net/problem/11053 11053๋ฒˆ: ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด ์ˆ˜์—ด A๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์šฐ์— ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด n = int(input()) permu = list(map(int, input().split())) count = [1] # ์ฒซ ๋ฒˆ์งธ ์ˆซ์ž์˜ ๊ธธ์ด๋Š” ์–ด์ฐจํ”ผ 1์ด๋ฏ€๋กœ ๋ฏธ๋ฆฌ ์ถ”๊ฐ€ counting = 0 def find(now): global counting for i in reversed(range(l.. 2022. 1. 30.
[Python Algorithm] ์„ฌ์˜ ๊ฐœ์ˆ˜ BOJ #4963 ๋ฌธ์ œ https://www.acmicpc.net/problem/4963 4963๋ฒˆ: ์„ฌ์˜ ๊ฐœ์ˆ˜ ์ž…๋ ฅ์€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์—๋Š” ์ง€๋„์˜ ๋„ˆ๋น„ w์™€ ๋†’์ด h๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. w์™€ h๋Š” 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์–‘์˜ ์ •์ˆ˜์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ h๊ฐœ ์ค„์—๋Š” ์ง€๋„ www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys sys.setrecursionlimit(10000) while True: w, h = map(int, sys.stdin.readline().split()) if w == 0 and h == 0: break space = [list(map(int, sys.stdin.readline().split())) for _ in range(h)] dx = [0, 0.. 2022. 1. 30.
[Python Algorithm] ํ† ๋งˆํ†  BOJ #7576 ๋ฌธ์ œ https://www.acmicpc.net/problem/7576 7576๋ฒˆ: ํ† ๋งˆํ†  ์ฒซ ์ค„์—๋Š” ์ƒ์ž์˜ ํฌ๊ธฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ M,N์ด ์ฃผ์–ด์ง„๋‹ค. M์€ ์ƒ์ž์˜ ๊ฐ€๋กœ ์นธ์˜ ์ˆ˜, N์€ ์ƒ์ž์˜ ์„ธ๋กœ ์นธ์˜ ์ˆ˜๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ๋‹จ, 2 ≤ M,N ≤ 1,000 ์ด๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ๋Š” ํ•˜๋‚˜์˜ ์ƒ์ž์— ์ €์žฅ๋œ ํ† ๋งˆํ†  www.acmicpc.net ๋‚ด ๋ฌธ์ œ ํ’€์ด import sys, copy m, n = map(int, sys.stdin.readline().split()) storage = [list(map(int, sys.stdin.readline().split())) for _ in range(n)] queue = [] dx = [0, 0, -1, 1] dy = [-1, 1, 0, 0] countCheck = cop.. 2022. 1. 30.
[Python] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์‹œ ํ•„์š”ํ•œ ์ฃผ์š” ํŒ (sys.setrecursionlimit(), sys.stdin.readline()) ๋ฌธ์ œ๋ฅผ ๋งŽ์ด ํ’€์–ด๋ณด๋ฉด์„œ ๋ชฐ๋ž๋˜,,! ์‰ฝ์ง€๋งŒ ์ค‘์š”ํ•œ ํŒ๋“ค์„ ๊ฐ„๋‹จํžˆ ์ •๋ฆฌํ•ด๋ณด๊ณ  ์žˆ๋‹ค. ๐Ÿ“ ์žฌ๊ท€ ๊นŠ์ด ์ œํ•œ - sys.setrecursionlimit() ํŒŒ์ด์ฌ์€ ๊ธฐ๋ณธ์œผ๋กœ ์žฌ๊ท€ ๊นŠ์ด๋ฅผ 1000์œผ๋กœ ์ œํ•œํ•œ๋‹ค. ๋”ฐ๋ผ์„œ ์žฌ๊ท€๋ฅผ ๋” ๊นŠ๊ฒŒ ๋Œ๋ฆฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ด ์ œํ•œ์„ ํ’€์–ด์ค˜์•ผ ํ•œ๋‹ค. ํ‘ธ๋Š” ๋ฐฉ๋ฒ•์€ ๊ฐ„๋‹จํ•˜๋‹ค. sys ๋ชจ๋“ˆ์„ importํ•˜๊ณ , setrecursionlimit ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. import sys sys.setrecursionlimit(10000) ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ ์ด์œ  ์—†์ด ๋Ÿฐํƒ€์ž„ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค๋ฉด ์ด๊ฒƒ์„ ์ƒ๊ฐํ•ด๋ด์•ผ ํ•  ๋“ฏ ํ•˜๋‹ค. ๐Ÿ“ ์ž…๋ ฅ - input() / sys.stdin.readline() ์ž…๋ ฅ ๋ฐ›์„ ๋‚ด์šฉ์ด ๋ณ„๋กœ ์—†๋‹ค๋ฉด input ํ•จ์ˆ˜๋กœ๋„ ์ถฉ๋ถ„ํ•˜์ง€๋งŒ, ์—ฌ๋Ÿฌ ์ค„์˜ ์ž…๋ ฅ์„ ๋งŽ์ด ๋ฐ›์•„์•ผ ํ•œ๋‹ค๋ฉด sys.. 2022. 1. 30.
[Python] ์–•์€ ๋ณต์‚ฌ vs ๊นŠ์€ ๋ณต์‚ฌ (feat. mutable, immutable ๊ฐ์ฒด) ๋ฐฑ์ค€์„ ํ’€๋‹ค๊ฐ€ ํŒŒ์ด์ฌ์€ ๋ณ€์ˆ˜๋ฅผ ๋Œ€์ž…ํ•  ๋•Œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๊ฐ€ ์ข€ ๋‹ค๋ฅด๊ฒŒ ํ• ๋‹น๋˜๋Š” ๊ฒƒ ๊ฐ™์•„์„œ ์•Œ์•„๋ณด๋‹ˆ mutable, immutable ๊ฐ์ฒด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„,, ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๊ณต๋ถ€ํ•˜๊ณ  ์“ฐ๋Š” ๊ธ€ ใ€ฐ๏ธ ๐Ÿ“ mutable ๊ฐ์ฒด์™€ immutable ๊ฐ์ฒด์˜ ๋น„๊ต ํŒŒ์ด์ฌ์—์„œ ๊ฐ์ฒด๋Š” mutable, immutable๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ, list / set / dict ๋“ฑ์€ mutable ๊ฐ์ฒด, bool / int / str ๋“ฑ์€ immutable ๊ฐ์ฒด์ด๋‹ค. ๐Ÿ‘‰ ๊ตฌ๋ถ„ ๋ฐฉ๋ฒ• list ์ฒ˜๋Ÿผ ํ•˜๋‚˜ ํ•˜๋‚˜์˜ ์š”์†Œ๋ฅผ ๋ฐ”๊ฟ”์„œ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋Š” mutable, str์ฒ˜๋Ÿผ ํ•˜๋‚˜ ํ•˜๋‚˜์˜ ์š”์†Œ๋งŒ์„ ๋ฐ”๊ฟ” ์ €์žฅํ•  ์ˆ˜ ์—†๋Š” ๊ฐ์ฒด๋Š” immutable์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์‰ฝ๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์— list, str์„ ๋Œ€ํ‘œ๋กœ mutable .. 2022. 1. 30.