<백준 문제풀이: 10828번> 파이썬 - 스택 간단한 수학 문제인데, Hackerrank에서 봤었던 문제라 간단하게 풀 수 있었다. import sys N = int(sys.stdin.readline()) nums = [] for i in range(N): a = sys.stdin.readline().strip() if a.split( )[0] == 'push': nums.append(a.split( )[1]) elif a == 'top': if len(nums) == 0: print(-1) else: print(nums[-1]) elif a == 'size': print(len(nums)) elif a == 'empty': if len(nums) == 0: print(1) else: prin.. 알고리즘 테스트/백준 문제풀이 및 해설 4년 전
<프로그래머스 문제풀이: [연습문제] JadenCase 문자열 만들기> Level 2 - 파이썬 쉬워 보인 문제지만 여러가지의 고난을 준 문제이다. 우선 다음과 같이 풀었다 import re def solution(s): return ' '.join([x.capitalize() for x in re.split(" ", s)])하지만 생각해보니 regular expression을 쓸 필요가 전혀 없었다. 대신 그냥 split을 사용하여 풀었어도 무난하게 잘 풀렸을 것이다. capitalize() 함수는 주어진 문자열의 0번째를 대문자화 시키는 것인데, 영문자가 아니라면 그대로 두는 역할을 실행한다. 알고리즘 테스트/프로그래머스 문제풀이 및 해설 4년 전
<백준 문제풀이: 2609번> 파이썬 - [수학3] 최대공약수와 최소공배수 최대공약수와 최소공배수를 구하는 문제이다. import sys num = list(map(int, sys.stdin.readline().split())) a = min(num) b = max(num) GCD = 0 LCM = 0 for i in range(1, a+1): if b%i == 0 and a%i == 0: GCD = i print(GCD) a = int(a/GCD) b = int(b/GCD) print(a*b*GCD) 다행히, 두개의 숫자의 최대공약수와 최소공배수를 구하는 문제라 간단했다. (저번에 프로그래머스에서 풀었을 때는 어려웠다) 따라서 간단하게 두 숫자를 비교해가며 풀면 된다. 알고리즘 테스트/백준 문제풀이 및 해설 4년 전
<백준 문제풀이 - 11653번> 파이썬 - [수학3] 소인수분해 주어진 숫자둘을 오름차순의 순서대로 소인수분해하면 된다. import sys N = int(sys.stdin.readline()) n = 2 while True: if n > N: break if N%n == 0: print(n) N = int(N/n) else: n += 1 이를 하기 위해 while문을 실행하여 했다. 코드를 실행하는데 사이트가 오래 걸렸지만, 결국엔 맞는 방법이었다. 알고리즘 테스트/백준 문제풀이 및 해설 4년 전
<백준 문제풀이: 1037번> 파이썬 - 약수 약수를 구하는 문제이다. import sys N = int(sys.stdin.readline()) denominators = list(map(int, sys.stdin.readline().split())) denominators.sort() print(denominators[0]*denominators[-1]) 여기서 중요한 점은 이미 약수들을 가르쳐주기 때문에, 이를 활용하면 간단하게 풀 수 있다. 알고리즘 테스트/백준 문제풀이 및 해설 4년 전
<백준 문제풀이: 5086번> 파이썬 - 배수와 약수 매우 간단한 배수와 약수에 관련된 문제이다. import sys while True: a, b = map(int, sys.stdin.readline().split()) if a == b == 0: break if a%b != 0 and b%a == 0: print('factor') elif a%b == 0 and b%a != 0: print('multiple') elif a%b != 0 and b%a != 0: print('neither') 문제에서 말해주는 것처럼 각각의 조건에 따라 if문을 사용하여 풀면 된다. 알고리즘 테스트/백준 문제풀이 및 해설 4년 전