코딩테스트(11)
-
백준 27433: 파이썬으로 팩토리얼 풀기. 재귀함수 복습.
팩토리얼 문제. 재귀로 풀 수도 있고 아닐 수도 있다. 우선 재귀로 안하고 풀 때 : import sys def factorial(n: int) -> int: fact_num = 1 for i in range(1, n+1): fact_num = fact_num * i return fact_num a = int(sys.stdin.readline()) factorial(a) print(factorial(a)) 이렇게 for문을 돌려보면 된다. 그리고 재귀함수를 써보면? import sys def factorial(n: int) -> int: if n
2023.08.14 -
백준 25192 파이썬 문제풀이.
이건... 심화 문제인가..? 잘모르겠는데 일단 풀었다. import sys chat_count = int(sys.stdin.readline().strip()) li = [] add_count = 0 for i in range(chat_count): chat = sys.stdin.readline().strip() if chat == 'ENTER': add_count += len(set(li)) li = [] else: li.append(chat) li = set(li) print(add_count+len(set(li))) 근데 심화문제라고 하긴 했는데 글쎄...? set에 대한 것을 물어보는 문제였나보다.
2023.08.11 -
백준 1037.파이썬 문제풀이 __name__ == "__main__"을 써본다면.
전에 했던 __name__ == "__main__"을 활용해서 문제를 풀어보자. def find_N(num_of_divisors, divisors): divisors.sort() return divisors[0] * divisors[-1] if __name__ == "__main__": num_of_divisors = int(input().strip()) divisors = list(map(int, input().split())) print(find_N(num_of_divisors, divisors)) 뭐 사실 딱히 쓸 필요는 없는데 괜히.. 위 파일이 만약 run 되는 main 파일이면 if 뎁스 이하의 파일이 실행된다. 그러면 def가 실행되어서 동작할 것이다. 1037 문제는 sort를 해서 첫째 ..
2023.08.11 -
백준 2346. 파이썬 데크 문제풀이
from collections import deque n = int(input()) numbers = list(map(int, input().split())) balloons = deque([(i+1, numbers[i]) for i in range(n)]) result = [] while balloons: index, value = balloons.popleft() result.append(index) if not balloons: break if value > 0: for _ in range(value - 1): balloons.append(balloons.popleft()) else: for _ in range(abs(value)): balloons.appendleft(balloons.pop()) ..
2023.08.09 -
백준 11866 파이썬 문제풀이.
import queue import sys num, count = map(int, sys.stdin.readline().split()) people = queue.Queue() dead_people = queue.Queue() [people.put(n) for n in range(1, num+1)] while people.qsize() > 1: for i in range(count-1): people.put(people.get()) dead_people.put(people.get()) dead_people.put(people.get()) print('') join(map이 의외로 헷갈렸다. 아니 이걸 제출을 해야 하는데 제출양식이 이런 식이니까 어떻게 해야할지 당황스러워서 헤맸다. join을 하면 [] ..
2023.08.08 -
파이썬 queue 모듈 사용하기. 백준 2164 파이썬 문제풀이.
import queue cards = int(input()) deck = queue.Queue() for i in range(1, cards+1): deck.put(i) print(list(deck.queue)) 지금 백준 문제를 하고 있는데 파이썬 queue 모듈을 쓰고싶어서 공부중이다. 우선 queue를 import 하고 초기화가 queue.Queue()를 한다. 희한하다. 아마 Queue() 말고 다른 것도 있나보다 아마 deque겠지? 데크라고 한다. 데큐라고 하지말자. list(deck.queue)를 했더니 리스트 형식으로 안에 들어있는 요소들이 모두 나왔다. https://docs.python.org/3/library/queue.html queue — A synchronized queue cl..
2023.08.07