코딩 도구(315)
-
백준 2164 파이썬 큐 이해 문제 Queue
백준 2164 - 카드2 문제 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 답안 코드 : from collections import deque N = int(input()) myQueue = deque() for i in range(1, N+1): myQueue.append(i) while len(myQueue) > 1: # 카드가 1장 남을 때까지 myQueue.popleft() # 맨 위의 카드를 버림 myQueue.append(myQu..
2024.02.15 -
백준 2903 파이썬
백준 2903 : 중앙 이동 알고리즘 문제 https://www.acmicpc.net/problem/2903 2903번: 중앙 이동 알고리즘 상근이는 친구들과 함께 SF영화를 찍으려고 한다. 이 영화는 외계 지형이 필요하다. 실제로 우주선을 타고 외계 행성에 가서 촬영을 할 수 없기 때문에, 컴퓨터 그래픽으로 CG처리를 하려고 한다. www.acmicpc.net 답안 코드 : print((2 ** int(input()) + 1) ** 2) 백준 / 문제 / 단계별로 풀어보기 / 8단계 일반 수학 1 생각 : # 한 변에 놓일 점의 개수를 구한 뒤 제곱 # (2^n + 1)^2 라는 규칙
2024.02.15 -
백준 2720 파이썬 , 그리디 알고리즘
백준 2720 : 세탁소 사장 동혁 문제 https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 답안 코드 : T = int(input()) for _ in range(T): C = int(input()) for i in [25, 10, 5, 1]: print(C // i, end=" ") C = C % i 백준 / 문제 / 단계별로 풀어보기 / 8단계 일반 수학 1 생각 : # 쿼터(Quarter, $0.25)의 개수, 다임(Dime, $0.10)의 개수, 니켈(Nickel, $0.05)의 개수, 페니(Penny, $0..
2024.02.14 -
백준 17298 파이썬 , 스택의 후입선출 성질 이용
백준 17298 : 오큰수 문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 답안 코드 : import sys n = int(sys.stdin.readline()) A = list(map(int, sys.stdin.readline().split())) ans = [-1] * n myStack = [] for i in range(n): while myStack and A[myStack[-1]] < A[i]: ans[myStack.pop()] = A[i]..
2024.02.13 -
백준 11005 파이썬
백준 11005 : 진법 변환 2 문제 https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 답안 코드 : N, B = map(int, input().split()) s = "" num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" # 진법의 index를 알기위한 while N: s += str(num[N % B]) N //= B print(s[::-1]) # s를 뒤집어서 출력 백준 / 문제 / 단계별로 풀어보기 /..
2024.02.13 -
백준 2745 파이썬 , enumerate()
백준 2745 : 진법 변환 문제 https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 답안 코드 : N, b = input().split() num = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" N = N[::-1] # N을 역순으로 바꿔줍니다. result = 0 # N의 각 자리 숫자와 인덱스를 이용하여 결과를 계산합니다. for i, n in enumerate(N): # result에 (b의 i제곱) * n에 해당하는..
2024.02.12