Github & Portfolio
๐ Problem Solving(119)
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ๋ฉ์ฉกํ ์ฌ๊ฐํ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฉ์ฉกํ ์ฌ๊ฐํ ๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์ 1cm x 1cm ํฌ๊ธฐ์ ๋๋ค. ์ด ์ข ์ด๋ฅผ ๊ฒฉ์ ์ ์ programmers.co.kr import sys import math input = sys.stdin.readline w, h = map(int, input().split()) def solution(w, h): return w * h - (w+h-math.gcd(w, h)) print(solution(w, h)) ํด์ค ํ๋ค๊ฐ ๋ง๋ ํ ์์ด๋์ด๊ฐ ๊ณ์ ์๊ฐ์ด ์๋์ ํฌ๊ธฐํ๋ค... ์ํผ์งฑ์งฑ ๋ธ๋ก๊ทธ์์ ํด๋ต์ ์ฐพ์์ง๋ง ์ดํด๊ฐ ๋ ํ์ํ๋ค..๐ฅ
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ ์ง์ง์ด ์ ๊ฑฐํ๊ธฐ๋, ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ๊ฐ์ง๊ณ ์์ํฉ๋๋ค. ๋จผ์ ๋ฌธ์์ด์์ ๊ฐ์ ์ํ๋ฒณ์ด 2๊ฐ ๋ถ์ด ์๋ ์ง์ ์ฐพ์ต๋๋ค. ๊ทธ๋ค์, ๊ทธ ๋์ ์ ๊ฑฐํ ๋ค, ์๋ค๋ก ๋ฌธ์์ด์ ์ด์ด ๋ถ programmers.co.kr import sys input = sys.stdin.readline s = input().rstrip() def solution(s): stack = [] for i in s: if len(stack) == 0: stack.append(i) elif stack[-1] == i: stack.pop() else: stack.append(i) if len(stack) == 0: return 1 else: return 0 print(solution(s)) ..
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ๋ฌธ์์ด ์์ถ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฌธ์์ด ์์ถ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ๋ฌธ๊ฐ๊ฐ ๋๊ณ ์ถ์ "์ดํผ์น"๋ ๋ฌธ์์ด์ ์์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ๋๋์ ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ๊ฐ๋จํ ๋น์์ค ์์ถ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ์๋๋ฐ, ๋ฌธ programmers.co.kr import sys input = sys.stdin.readline s = input().rstrip() def solution(s): answer = len(s) for step in range(1, len(s) // 2 + 1): compressed = "" prev = s[0:step] count = 1 for i in range(step, len(s), step): if prev == s[i : i + step]: count += 1 else: c..
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ๊ตฌ๋ช ๋ณดํธ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ตฌ๋ช ๋ณดํธ ๋ฌด์ธ๋์ ๊ฐํ ์ฌ๋๋ค์ ๊ตฌ๋ช ๋ณดํธ๋ฅผ ์ด์ฉํ์ฌ ๊ตฌ์ถํ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ๋ช ๋ณดํธ๋ ์์์ ํ ๋ฒ์ ์ต๋ 2๋ช ์ฉ ๋ฐ์ ํ ์ ์๊ณ , ๋ฌด๊ฒ ์ ํ๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๊ฐ [70kg, 50kg, 80kg, 5 programmers.co.kr import sys input = sys.stdin.readline limit = int(input()) people = list(map(int, input().split())) def solution(people, limit): people.sort() answer = 0 i, j = 0, len(people) - 1 while i
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ์ฃผ์๊ฐ๊ฒฉ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฃผ์๊ฐ๊ฒฉ ์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ prices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,00 programmers.co.kr import sys input = sys.stdin.readline prices = list(map(int, input().split())) def solution(prices): answer = [] for i in range(len(prices)): cnt = 0 for j in range(i + 1, len(prices)): cnt += 1 if prices[i] > prices[j]: break answer.app..
-
[ํ๋ก๊ทธ๋๋จธ์ค-Lv2] ํฐ ์ ๋ง๋ค๊ธฐ / Python
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํฐ ์ ๋ง๋ค๊ธฐ programmers.co.kr import sys input = sys.stdin.readline k = int(input()) number = input() def solution(number, k): collected = [] for (i, num) in enumerate(number): while collected and collected[-1] 0: collected.pop() k -= 1 if k == 0: collected += number[i:] break collected.append(num) collected = collected[:-k] if k > 0 else collected return "".join(collected) ..