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

๐Ÿ“š Algorithm/Programmers

(6)
Progammers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [๋‹ค์Œ ํฐ ์ˆซ์ž] Python ํŒŒ์ด์ฌ ํ’€์ด ๐Ÿ“ ๋ฌธ์ œ ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ๋ ฅ ๐Ÿ’ก ํ’€์ด 2์ง„์ˆ˜์—์„œ์˜ 1์˜ ๊ฐฏ์ˆ˜๋ฅผ ์„ธ์•ผํ•˜๊ธฐ ๋•Œ๋ฌธ์—, bin()๊ณผ .count("1")์„ ์‚ฌ์šฉํ–ˆ๋‹ค. ์กฐ๊ฑด1๊ณผ ์กฐ๊ฑด3์„ ๋™์‹œ์— ๋งŒ์กฑํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ฃผ์–ด์ง„ n์—์„œ 1์”ฉ ๋Š˜๋ ค๊ฐ€๋ฉฐ ์กฐ๊ฑด2๋ฅผ ๋งŒ์กฑํ•  ๊ฒฝ์šฐ break๋ฅผ ๊ฑธ์—ˆ๋‹ค. def solution(n): answer = 0 num = n+1 while True : bin_n = bin(n) bin_num = bin(num) if bin_n.count("1") == bin_num.count("1") : answer = num break else : num += 1 return answer
Progammers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [์ฒด์œก๋ณต] Python ํŒŒ์ด์ฌ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/42862# ๐Ÿ“ ๋ฌธ์ œ ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ๋ ฅ ๐Ÿ’ก ํ’€์ด ๋ฌธ์ œ ์กฐ๊ฑด์—์„œ '์—ฌ๋ฒŒ ์ฒด์œก๋ณต์„ ๊ฐ€์ ธ์˜จ ํ•™์ƒ์ด ๋„๋‚œ๋‹นํ–ˆ์„ ์ˆ˜ ์žˆ๋‹ค' ๋ผ๊ณ  ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— lost์™€ reserve์—์„œ ์ค‘๋ณต๋˜๋Š” ๊ฒƒ๋“ค์€ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค. ์ฒ˜์Œ์—๋Š” ๊ทธ๋ƒฅ for๋ฌธ์—์„œ ์ค‘๋ณต ์—ฌ๋ถ€๋งŒ ๋”ฐ์ ธ remove๋ฅผ ์‚ฌ์šฉํ•ด ์ œ๊ฑฐํ–ˆ๋‹ค. ์ œ์ถœํ•˜๋‹ˆ 90%๋งŒ ๋งž๊ณ  ์ผ๋ถ€ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์—๋Š” ์‹คํŒจ๊ฐ€ ๋‚˜์™”๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ฐฐ์—ด์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด ์‚ญ์ œํ•˜์ง€ ์•Š์„ ๋ฒˆํ˜ธ๋“ค๋งŒ ๋„ฃ์–ด ๋ฐฐ์—ด์„ ๋‹ค์‹œ ๊ฐฑ์‹ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ๋‚˜๋Š” new_lost๋ฅผ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด reserve์— ์—†๋Š” ๋ฒˆํ˜ธ๋“ค์€ ์ƒˆ ๋ฐฐ์—ด์— ์ €์žฅํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž์‹ ์„ ๊ธฐ์ค€์œผ๋กœ i-1, i+1์„ ํ™•์ธํ•ด ์ฒด์œก๋ณต์„ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋‹ค๋ฉด lost์—์„œ ํ•ด๋‹น..
Progammers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [๋‘˜๋งŒ์˜ ์•”ํ˜ธ] Python ํŒŒ์ด์ฌ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/155652 ๐Ÿ“ ๋ฌธ์ œ ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ๋ ฅ ๐Ÿ’ก ํ’€์ด a๋ถ€ํ„ฐ z๊นŒ์ง€์˜ ๋ชจ๋“  ์•ŒํŒŒ๋ฒณ์„ ๋‹ด์€ ๋ฌธ์ž์—ด alpha๋ฅผ ๋งŒ๋“ค์—ˆ๋‹ค. 1. skipํ•  ๋‹จ์–ด๋ฅผ alpha ๋ฌธ์ž์—ด์—์„œ ๋ฏธ๋ฆฌ ์ œ๊ฑฐํ•˜๊ธฐ 2. s๋ฅผ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ๋Œ๋ฉด์„œ index๋งŒํผ ๋’ค์˜ ์•ŒํŒŒ๋ฒณ์„ res์— ๋ถ™์ธ๋‹ค. (z๊ฐ€ ๋‚˜์˜ค๋ฉด a๋กœ ๋‹ค์‹œ ๋Œ์•„๊ฐ€์•ผ ํ•˜๋ฏ€๋กœ alpha ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋งŒํผ ๋‚˜๋ˆ„์–ด ๋‚˜๋จธ์ง€๋ฅผ ์ธ๋ฑ์Šค๋กœ ์‚ฌ์šฉํ•œ๋‹ค) 3. ๋ฌธ์ž์—ด๋กœ return ํ•ด์•ผ ํ•˜๋ฏ€๋กœ join ์‚ฌ์šฉ def solution(s, skip, index): alpha = 'abcdefghijklmnopqrstuvwxyz' res = [] for i in skip : if i in alpha :..
Progammers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [ํƒ€๊ฒŸ ๋„˜๋ฒ„] Python ํŒŒ์ด์ฌ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/43165 ๐Ÿ“ ๋ฌธ์ œ 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 ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ..
Progammers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [๋’ค์— ์žˆ๋Š” ํฐ ์ˆ˜ ์ฐพ๊ธฐ] Python ํŒŒ์ด์ฌ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/154539 ๐Ÿ“ ๋ฌธ์ œ ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ๋ ฅ ์ž…์ถœ๋ ฅ ์˜ˆ #1 2์˜ ๋’ท ํฐ์ˆ˜๋Š” 3์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ 3์˜ ๋’ท ํฐ์ˆ˜๋Š” 5์ž…๋‹ˆ๋‹ค. ๋‘ ๋ฒˆ์งธ 3 ๋˜ํ•œ ๋งˆ์ฐฌ๊ฐ€์ง€์ž…๋‹ˆ๋‹ค. 5๋Š” ๋’ท ํฐ์ˆ˜๊ฐ€ ์—†์œผ๋ฏ€๋กœ -1์ž…๋‹ˆ๋‹ค. ์œ„ ์ˆ˜๋“ค์„ ์ฐจ๋ก€๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์œผ๋ฉด [3, 5, 5, -1]์ด ๋ฉ๋‹ˆ๋‹ค. ๐Ÿ’ก ํ’€์ด ์ž์‹ ๋ณด๋‹ค ํฌ๋ฉด์„œ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ์ˆ˜๋ฅผ answer์— ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค. numbers์˜ ๋งˆ์ง€๋ง‰ ์ˆ˜๋Š” ๋น„๊ต ๋Œ€์ƒ์ด ์—†์œผ๋ฏ€๋กœ result์˜ ๋งˆ์ง€๋ง‰์€ ํ•ญ์ƒ -1์ด ๋  ๊ฒƒ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์ด์ค‘ for๋ฌธ์„ ์‚ฌ์šฉํ•ด ํ’€์—ˆ๋‹ค. ์‹œ๊ฐ„์ดˆ๊ณผ ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์•„๋ฌด๋ž˜๋„ ์ œํ•œ ์‚ฌํ•ญ์—์„œ numbers์™€ numbers[i]์˜ ํฌ๊ธฐ๋ฅผ ํฌ๊ฒŒ ์žก์•„์„œ ๊ทธ๋Ÿฐ ๊ฒƒ ๊ฐ™๋‹ค. ์ดํ›„, ..
Programmers ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - [๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ] Python ํŒŒ์ด์ฌ ํ’€์ด https://school.programmers.co.kr/learn/courses/30/lessons/178871 ๐Ÿ“ ๋ฌธ์ œ ๐Ÿšซ ์ œํ•œ ์‚ฌํ•ญ โœ๏ธ ์ž…์ถœ๋ ฅ ๐Ÿ’ก ํ’€์ด ์ฒ˜์Œ์—๋Š” res ๋ฆฌ์ŠคํŠธ ์„ ์–ธ๊ณผ callings์˜ ๋ฐ˜๋ณต๋ฌธ ๋•Œ๋ฌธ์— ์‹œ๊ฐ„์ดˆ๊ณผ ๊ฐ€ ๋‚˜์™”๋‹ค. ์ฝ”๋“œ๋ฅผ ์•„๋ฌด๋ฆฌ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์งœ๋„ ์‹œ๊ฐ„์ดˆ๊ณผ ๊ฐ€ ๋‚˜์˜ค๊ธธ๋ž˜ ๋‹ค๋ฅธ ์ •๋‹ต์ž ๋ถ„๋“ค์˜ ํ’€์ด๋ฅผ ์ฐธ๊ณ ํ•ด๋ณด๋‹ˆ ๊ฑฐ์˜ ๋Œ€๋ถ€๋ถ„์€ res๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ์ ‘๊ทผ์„ ํ–ˆ๋‹ค. res๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๋ณ€๊ฒฝํ•œ ๊ฒƒ ์™ธ์—๋Š” ์ƒ๊ฐํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋งž์•˜๋‹ค. python์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” swap์„ ํ•˜์˜€๋‹ค. def solution(players, callings): res = {player: i for i, player in enumerate(players)} for i in callings: idx = res[i] r..

728x90